Javascript 我如何将“连接”;这";还有一个使用jquery的附加字符串选择器?

Javascript 我如何将“连接”;这";还有一个使用jquery的附加字符串选择器?,javascript,jquery,concatenation,selector,Javascript,Jquery,Concatenation,Selector,我有以下代码: $("table.altRow tr:visible").each(function (index) { if (index % 2) { $(this).addClass("oddColor"); } else { $(this).addClass("evenColor"); }

我有以下代码:

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

更改

$(this + " tr:visible")

使用上下文,或者只是

$(this).find("tr:visible")
改变

使用上下文,或者只是

$(this).find("tr:visible")

您应该使用CSS来应用行样式,而不是JQuery解析

tr:nth-child(even) {
    background-color: #000000;
}

tr:nth-child(odd) {
    background-color: #FF0000;
}

您应该使用CSS来应用行样式,而不是JQuery解析

tr:nth-child(even) {
    background-color: #000000;
}

tr:nth-child(odd) {
    background-color: #FF0000;
}

“this”是对使用字符串连接的对象的引用。可以使用“this”作为要访问“tr:visible”的上下文。在这种情况下,语法应该是$(“tr:visible”,this);我不知道是谁否决了这一点。“this”是对一个对象的引用,您正在用字符串连接该对象。您可以使用“this”作为要访问“tr:visible”的上下文。在这种情况下,语法应该是$(“tr:visible”,this);我不知道是谁否决了这一点。上面的css(第n个子项)在IE8和下面不起作用,因为jQuery包含
:visible
过滤器,如果某些元素不可见,它将无法正常工作。上面的css(第n个子项)在IE8和下面不起作用,因为jQuery包含
:visible
过滤器,如果某些元素不可见,它将无法正常工作。