簡體   English   中英

選擇器的jQuery連接而不創建新實例?

[英]jQuery concatenation of selectors without creating a new instance?

是否可以在創建新選擇器的情況下連接兩個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”方法。

您可以在jQuery中使用多個選擇器

$('.a, .b')

上面的選擇器將選擇具有.a和/或.b類的所有元素

您可以在jQuery字符串中使用多個選擇器,只需用逗號分隔它們,如下所示:

$('.a, .b')

你可以使用內部hack方法push

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

但我不建議您使用它,因為它沒有記錄並僅供內部使用。 而是使用簡單的: a = a.add(b)

REF: https //stackoverflow.com/a/14345461/1249581

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM