如何合并两个jQuery结果


150

如何合并两个jQuery搜索结果?例如:

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

显然,我只是弥补了最后一行,但我希望它能使我的意思清楚一些。需要明确的是,该示例被大大简化,这可能是我说的任意集,所以$('.foo, .bar')不是我后。


Answers:


219

您可以使用add() ;

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

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

要么

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

27
请注意,在“ $ all.add('。bar');”行中,变量$ all不变,因此不包含所有元素。您将需要再次分配返回值,例如“ $ all = $ all.add('。bar');”。
Wolfram,

16
如果您想使自己更清楚地知道将两者结合而不是将另一集合(顾名思义)相加,可以这样做:var $allFoosAndBars = $().add($allFoos).add($allBars);
Chris Bloom 2012年

12
该方法应该被称为“和”而不是“添加”-会更直观。
2014年

1
@Faust对于熟悉集合操作的人,AND和UNION有很大的不同。
ricksmt

1
为什么这里没有提到$ .merge()?
OndraŽižka'15
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.