So kombinieren Sie zwei jQuery-Ergebnisse


150

Wie kombinieren Sie zwei jQuery-Suchergebnisse? z.B:

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

Natürlich habe ich gerade diese letzte Zeile erfunden, aber ich hoffe, es macht irgendwie klar, was ich meine. Um es klar auszudrücken, das Beispiel ist stark vereinfacht, und es können beliebige Mengen sein, über die ich spreche, also $('.foo, .bar')ist es nicht das, wonach ich suche.


1
Mögliches Duplikat des Zusammenführens von jQuery-Objekten
Gajus

Antworten:


219

Sie können add () verwenden ;

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

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

oder

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

27
Beachten Sie, dass in der Zeile "$ all.add ('. Bar');" die Variable $ all nicht geändert wird und daher nicht alle Elemente enthält. Sie müssten den Rückgabewert erneut wie "$ all = $ all.add ('. Bar');" zuweisen.
Wolfram

16
Wenn Sie deutlicher machen möchten, dass Sie die beiden kombinieren und nicht einen Satz zum anderen hinzufügen (wie der Name schon sagt), können Sie var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom

12
Die Methode sollte "und" statt "hinzufügen" heißen - wäre intuitiver.
Faust

1
@Faust Für diejenigen, die mit Set-Operationen vertraut sind, sind AND und UNION sehr unterschiedlich.
Ricksmt

1
Warum wird $ .merge () hier nicht erwähnt?
Ondra Žižka
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.