我有一个可以包含可变数据量的表。 在此表中,我有两列(月份和年份),我们将数据分组。
我正在尝试为每个分组的数据集交替行的颜色。例如,Feb 2016
中的 Everything 将具有 class=a
,然后是下一组数据 class=b
,然后返回到 a
等。本质上是奇数/偶数,但基于其中的值在多行上。
在上图中,会有 3 组数据。 2016 年 2 月
、2016 年 6 月
、2017 年 1 月
。前 4 行是 class=a
,第 5 行和第 6 行是 class=b
,最后 7 行是 class=a
。
我能够做一个标准的奇数/偶数交替行,但这比那个多一点。
这是数据集的一部分:https://jsfiddle.net/yo04vxoa/
如有任何帮助或指导,我们将不胜感激!
编辑:
这是期望的结果:https://jsfiddle.net/yo04vxoa/3/
只是不确定如何通过对月/年的相似数据进行分组来正确地在行中获取这些类。
最佳答案
这应该给你你正在寻找的东西: https://jsfiddle.net/nx35pdwa/4/
$(data).find('requests').each(function() {
var $p = $(this.previousElementSibling);
if (this.previousElementSibling &&
($p.find('month').text() !== $(this).find('month').text() ||
$p.find('year').text() !== $(this).find('year').text() )) {
alt = !alt;
}
output += '<tr' + (alt ? ' class="alt" ' : '') + '>';
output += '<td>' + $(this).find('month').text() + '</td>';
output += '<td>' + $(this).find('year').text() + '</td>';
output += '<td>' + $(this).find('title').text() + '</td>';
output += '</tr>'
})
通过比较当前迭代中的字段与之前迭代中的字段,您可以确定是否需要替换修饰符类:
关于javascript - 分组表行的 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34778763/