jQuery跨多个表交替使用行颜色
我注意到一个问题,即严格使用jquery交替行颜色。 你可以看看这个例子来了解我将要描述的内容 我使用CSS3来控制表上的条带化,这在多个表中都能正常工作jQuery跨多个表交替使用行颜色,jquery,css,Jquery,Css,我注意到一个问题,即严格使用jquery交替行颜色。 你可以看看这个例子来了解我将要描述的内容 我使用CSS3来控制表上的条带化,这在多个表中都能正常工作 .table-zebra tbody > tr:nth-child(even) > td {background-color: lightgrey;} 每一排都有浅灰色条纹。计数从第一行开始 对于不支持CSS3的浏览器,我使用jquery来模拟这一点:(.table striped在本例中用于显示fiddle中的差异) 当我有多
.table-zebra tbody > tr:nth-child(even) > td {background-color: lightgrey;}
每一排都有浅灰色条纹。计数从第一行开始
对于不支持CSS3的浏览器,我使用jquery来模拟这一点:(.table striped在本例中用于显示fiddle中的差异)
当我有多个行数为奇数的表时,jquery将继续上一个表的计数,这会错误地交替行数
除了使用$.each之外,在jquery中还有更简单的方法来处理这个问题吗?据我所知,
:odd
应用于所有
中,因此您可以得到所描述的行为。我认为除了使用.each()
之外,没有任何方法可以改变这一点,并使:odd
相对于当前的.table条带化
对于这种特定情况,尽管有一种解决方法,可以使用:n子项:
$(".table-striped tr:nth-child(:odd)").css("background-color", 'lightgrey');
虽然这适用于某个特定的
是其直接父项的奇数子项,因此如果您的
包含多个
CSS,则可能会做错误的事情。CSS:
tr.even td {
background-color: green;
}
tr.odd td {
background-color: yellow;
}
JS:
odd
不是伪类,:odd
是一个jQuery选择器,因此在使用:n个子时,不应该为odd
设置:
。我想编辑,但它是一个字符,所以它不会让我。
tr.even td {
background-color: green;
}
tr.odd td {
background-color: yellow;
}
$('.table-striped > tbody').each(function () {
$('tr:odd', this).addClass('odd').removeClass('even');
$('tr:even', this).addClass('even').removeClass('odd');
});