2016-12-01 67 views
1

,如果我们有这样的事情:JQuery的多个对象

var foo=$('.foo'); 
var boo=$('.boo'); 
var koo=$('.koo'); 

那么是否有可能把foobookoo在一个JQuery对象与$功能?

我尝试这些:

$(foo,koo,boo).removeClass('someClass'); // nothing happened 
$([foo,koo,boo]).removeClass('someClass'); // nothing happened 

但没有happend。

PS。我知道我可以使用直接选择与$('.foo,.boo,.koo')但是这不是我要找的

回答

1

如果你已经有了几个jQuery的对象,你可以使用$.add()

var combo = foo.add(koo).add(boo) 
combo.removeClass('someClass') 
+0

这就是我要找的! – Omid

3

您可以选择多个元素,像这样:

$(".foo, .boo, .koo").removeClass('someClass'); 

这就是所谓的多重选择器,在https://api.jquery.com/multiple-selector/

作为记录

如果你想将它们存储在一个变量,你必须使用add方法,例如

var elements = $(".foo").add(".koo").add(".boo"); 

参见: http://api.jquery.com/add/

+2

为什么downvotes? – Santi

+0

编辑您的答案并等待,以便他们可以删除投票,如果他们想.. –

+0

我已编辑我的问题 – Omid

1

您可以直接添加多个选择用逗号隔开,如下

$('.foo,.koo,.boo').removeClass('someClass'); 

编辑1:有问题的编辑后,如果您想这样做的目标水平,那么试试下面。

$.each([foo,koo,boo],function(i,v){ 
    v.removeClass('someClass'); 
    }); 
+0

这是一个好主意,但我认为这一个更好:http://stackoverflow.com/a/40900806/836979 – Omid

+0

哦,不错哦!我不知道'add'功能 –

+0

我也是! WOW JQuery想到了一切! – Omid

0

你可以混合和匹配选择如下所示:

$('#someId, .foo, .boo').removeClass('someClass');