javascript - 分组表行的 CSS 样式

标签 javascript jquery css

我有一个可以包含可变数据量的表。 在此表中,我有两列(月份和年份),我们将数据分组。

我正在尝试为每个分组的数据集交替行的颜色。例如,Feb 2016 中的 Everything 将具有 class=a,然后是下一组数据 class=b,然后返回到 a 等。本质上是奇数/偶数,但基于其中的值在多行上。

enter image description here

在上图中,会有 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/

相关文章:

javascript - 如何在 jQuery 组合框自动完成中匹配多个子字符串

css - 可以将多个元素悬停声明只设置为一个 div 吗?

javascript - 如何在单击按钮时添加特定设计的 html 形式的文本框

javascript - 形状未出现在 html Canvas 上

javascript - 将 webpack 与 babel 和 babel-preset-react 以及 babel-preset-es2015 一起使用

javascript - 如何只显示一次网站预加载器

javascript - 在 FireFox 中滚动时固定定位的 div 移动到一边,在其他浏览器中工作正常

javascript - 全背景图片幻灯片jquery,想让幻灯片的最后一张图片可点击

html - 使用 vanilla css 的响应式应用程序

javascript - 为什么如果if语句不起作用?