Come combinare due risultati jQuery


151

Come si combinano due risultati di ricerca di jQuery? per esempio:

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

Ovviamente, ho appena inventato l'ultima riga, ma spero che chiarisca cosa intendo. Per essere chiari, l'esempio è notevolmente semplificato e potrebbe trattarsi di qualsiasi set arbitrario di cui sto parlando, quindi non$('.foo, .bar') è quello che sto cercando.


1
possibile duplicato di fusione di oggetti jQuery
Gajus

Risposte:


221

Puoi usare add () ;

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

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

o

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

28
Si noti che nella riga "$ all.add ('. Bar');", la variabile $ all non viene modificata e quindi non contiene tutti gli elementi. Dovresti assegnare di nuovo il valore restituito come "$ all = $ all.add ('. Bar');".
Wolfram,

17
Se vuoi rendere più chiaro che stai combinando i due e non aggiungi un set all'altro (come suggerisce il nome) puoi farlo:var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom,

13
Il metodo avrebbe dovuto essere chiamato "e" invece di "aggiungere" - sarebbe più intuitivo.
Faust,

1
@Faust Per chi ha familiarità con le operazioni impostate, AND e UNION sono molto diversi.
ricksmt,

1
Perché $ .merge () non è menzionato qui?
Ondra Žižka,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.