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.

nickf
sumber
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);
Simon
sumber
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