我注意到严格使用jquery交替显示行颜色的问题。
您可以在fiddle中查看我将要描述的示例。
我正在使用CSS3控制表上的条带化,该条带可在多个表中按预期工作。
.table-zebra tbody > tr:nth-child(even) > td {background-color: lightgrey;}
每偶数行都用浅灰色条纹。计数从第一行开始。
对于不支持CSS3的浏览器,我使用jquery来模仿:(本示例中使用.table-striped来显示小提琴的区别)
$(".table-striped tr:odd").css("background-color", 'lightgrey');
当我有多个表的行数为奇数时,jquery将继续从上一个表进行计数,这将错误地交替排列行。
除了使用$ .each之外,还有一种更简单的方法可以在jquery中处理此问题?
最佳答案
据我所知,:odd
应用于所有<TR>
,因此您得到了所描述的行为。我认为除了使用:odd
之外,没有任何方法可以更改它并使相对于当前.table-striped
的.each()
。
对于此特定情况,尽管有:nth-child
的解决方法:
$(".table-striped tr:nth-child(:odd)").css("background-color", 'lightgrey');
尽管这适用于特定
<TR>
是其直接父级的奇数子代的情况,因此如果您的<TABLE>
包含多个<TBODY>
可能会做错事情。关于jquery - jQuery跨多个表的备用行颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15789526/