如何使用jquery连接“this”和一个额外的字符串选择器?

时间:2014-01-05 15:48:41

标签: javascript jquery concatenation selector

我有以下代码:

            $("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”。这个的正确语法是什么?

2 个答案:

答案 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;
}