1

是否可以在不创建新选择器的情况下连接两个 jQuery 选择器?一个例子如下:

<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <body>
        <span class="a">A</span>
        <span class="a">B</span>
        <span class="b">C</span>
        <script language="JavaScript" type="text/javascript">
            <!--
                var a = $('.a');
                var b = $('.b');
                var c = a.add(b);

                console.log(a);
                console.log(b);
                console.log(c);
            //-->
        </script>
    </body>
</html>

如上所述编写时会产生以下选择器:

a = [ A, B ]
b = [ C ]
c = [ A, B, C ]

我想修改它以产生:

a = [ A, B, C ]
b = [ C ]
c = whatever

在此过程中无需创建新的选择器,相当于在选择器中的每个元素上使用 Array 的“push”方法。

4

3 回答 3

2

您可以在 jQuery中使用多个选择器:

$('.a, .b')

上面的选择器将选择所有具有类.a和/或.b

于 2013-03-27T15:12:37.773 回答
1

您可以在 jQuery 字符串中使用多个选择器,只需用逗号分隔它们,如下所示:

$('.a, .b')
于 2013-03-27T15:11:36.593 回答
1

您可以使用内部破解方法push

a.push.apply(a, b.get());  // it accepts only native DOM elements

但我不建议您使用它,因为它没有记录并且仅供内部使用。而是使用简单的:a = a.add(b)

参考: https ://stackoverflow.com/a/14345461/1249581

于 2013-03-27T15:21:23.910 回答