İki jQuery sonucu nasıl birleştirilir


151

İki jQuery arama sonucunu nasıl birleştirirsiniz? Örneğin:

var $allFoos = $('.foo'),
    $allBars = $('.bar')
    $allFoosAndBars = $allFoos + $allBars;

Açıkçası, ben sadece bu son çizgiyi uydurdum, ama umarım ne demek istediğimi netleştirir. Açık olmak gerekirse, örneğin bu yüzden, büyük ölçüde basitleştirilmiştir ve bu i bahsediyorum rasgele setleri olabilir $('.foo, .bar')olduğu değil Peşinde olduğum şey.


1
olası yinelenen birleştirme jQuery nesneler
Gajus

Yanıtlar:


221

Sen kullanabilirsiniz eklenti () ;

var $foos = $('.foo');

var $foosAndBars = $foos.add('.bar');

veya

var $allFoosAndBars = $allFoos.add($allBars);

28
"$ All.add ('. Bar');" satırında $ all değişkeninin değişmediğini ve bu nedenle tüm öğeleri içermediğini unutmayın. Dönüş değerini tekrar "$ all = $ all.add ('. Bar');" gibi atamanız gerekir.
Wolfram

17
Eğer ikisini birleştirdiğinizi ve diğerine bir set eklemediğinizi (adından da anlaşılacağı gibi) daha belirgin hale getirmek istiyorsanız, bunu yapabilirsiniz:var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom

13
Yöntemin "add" yerine "ve" olarak adlandırılmış olması daha sezgisel olacaktır.
Faust

1
@Faust Ayarlanmış işlemleri bilenler için AND ve UNION çok farklıdır.
ricksmt

1
$ .Merge () neden burada belirtilmemiş?
Ondra 30ižka
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.