Cómo combinar dos resultados de jQuery


151

¿Cómo se combinan dos resultados de búsqueda de jQuery? p.ej:

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

Obviamente, acabo de inventar esa última línea, pero espero que aclare lo que quiero decir. Para ser claros, el ejemplo se simplifica enormemente, y podría estar hablando de cualquier conjunto arbitrario, por lo que no$('.foo, .bar') es lo que busco.


1
posible duplicado de fusión de objetos jQuery
Gajus

Respuestas:


220

Puedes usar add () ;

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

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

o

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

28
Tenga en cuenta que en la línea "$ all.add ('. Bar');", la variable $ all no cambia y, por lo tanto, no contiene todos los elementos. Debería asignar nuevamente el valor de retorno como "$ all = $ all.add ('. Bar');".
Wolfram

17
Si quieres que sea más evidente que va a combinar los dos y no la adición de un conjunto a otro (como su nombre indica) que pueda para esto:var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom

13
El método debería haberse llamado "y" en lugar de "agregar", sería más intuitivo.
Faust

1
@Faust Para aquellos familiarizados con las operaciones de configuración, AND y UNION son muy diferentes.
ricksmt

1
¿Por qué $ .merge () no se menciona aquí?
Ondra Žižka
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.