Cara menggabungkan dua hasil jQuery


151

Bagaimana Anda menggabungkan dua hasil pencarian jQuery? misalnya:

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

Jelas, saya baru saja membuat baris terakhir, tapi saya harap itu membuatnya agak jelas apa yang saya maksud. Untuk menjadi jelas, contoh yang sangat sederhana, dan itu bisa saja set sewenang-wenang saya bicarakan, jadi $('.foo, .bar')ini bukan apa yang saya setelah.


1
kemungkinan duplikat objek Penggabungan jQuery
Gajus

Jawaban:


220

Anda dapat menggunakan add () ;

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

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

atau

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

28
Perhatikan bahwa di baris "$ all.add ('. Bar');", variabel $ all tidak diubah dan dengan demikian, tidak menampung semua elemen. Anda perlu menetapkan nilai kembali lagi seperti "$ all = $ all.add ('. Bar');".
Wolfram

17
Jika Anda ingin membuatnya lebih jelas bahwa Anda menggabungkan keduanya dan tidak menambahkan satu set ke set lainnya (sesuai namanya) Anda dapat melakukan ini:var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom

13
Metode ini seharusnya disebut "dan" bukannya "add" - akan lebih intuitif.
Faust

1
@Faust Bagi mereka yang terbiasa dengan operasi yang ditetapkan, AND dan UNION sangat berbeda.
ricksmt

1
Mengapa $ .merge () tidak disebutkan di sini?
Ondra Žižka
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.