jquery - 如何交替列表/行的第二个和第三个背景?

标签 jquery css html-table rows

我看过很多关于如何更改列表或行的背景颜色的帖子。

$('#news tbody').each(function() {
    $(this).children('tr:odd').addClass('alt');
});

我明白了。但是如果我想要三行交替背景怎么办?换句话说,第一个有一种颜色,第二个有另一种颜色,第三个有另一种颜色,然后重复。我只能成功地为每三分之一添加背景颜色而不重叠。有什么建议吗?

最佳答案

您可以使用 nth-child 选择器在纯 CSS 中执行此操作:

#news tbody tr:nth-child(3n+1) {
    background-color: #C00;
}

#news tbody tr:nth-child(3n+2) {
    background-color: #0C0;
}

#news tbody tr:nth-child(3n+3) {
    background-color: #00C;
}

或者,您可以在 jQuery 中使用数组和模运算符来实现此目的:

var classes = ['first', 'second', 'third'];
$('#news tbody tr').each(function(i) {
   $(this).addClass(classes[i % classes.length]);
});

关于jquery - 如何交替列表/行的第二个和第三个背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962617/

相关文章:

javascript - 嵌套json获取

javascript - document.getElementById 变量使用 jquery 更改类的值

html - 使用 CSS 对齐文本框会推出标签

javascript - 如何让我的 CSS 和 JS 文件发送 HTTP 响应 header

html - 在手机上引导卡中的图像不在正确的位置

javascript - 创建复杂的 HTML 表格

javascript - 使用 bootstrap modal 通过 jquery 验证加载不同的内容

javascript - 在 Javascript/jQuery 中对变量数组使用多个 .replace 调用

javascript - 更好地实现具有固定顶行和左列的 Excel 样式 HTML 表格? (jsFiddle 示例)

html - 包含 super 凌乱的基于表格的 HTML 布局