我注意到严格使用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/

10-12 12:55
查看更多