我有以下代码:
$("table.altRow tr:visible").each(function (index) {
if (index % 2) {
$(this).addClass("oddColor");
} else {
$(this).addClass("evenColor");
}
});
但我现在需要在循环中单独为某些表运行此代码(您可以忽略我为此问题执行此操作的原因,因为我的问题更多是关于语法)。所以我希望有这样的东西:
$("table.altRow").each(function () {
$(this + " tr:visible").each(function (index) {
if (index % 2) {
$(this).addClass("oddColor");
} else {
$(this).addClass("evenColor");
}
});
});
上面代码的问题是这一行:
$(this + " tr:visible")
我试图弄清楚如何在循环中编写表示该表的select,但在它之后连接“tr:visible”。这个的正确语法是什么?
答案 0 :(得分:5)
变化
$(this + " tr:visible")
到
$("tr:visible", this)
使用上下文,或简单地
$(this).find("tr:visible")
答案 1 :(得分:0)
您应该使用CSS来应用行样式而不是JQuery解析
tr:nth-child(even) {
background-color: #000000;
}
tr:nth-child(odd) {
background-color: #FF0000;
}