如果我们有这样的事情:
var foo=$('.foo');
var boo=$('.boo');
var koo=$('.koo');
那么是否有可能将foo
,boo
和koo
置于JQuery
个$
对象中?
我试过这些:
$(foo,koo,boo).removeClass('someClass'); // nothing happened
$([foo,koo,boo]).removeClass('someClass'); // nothing happened
但没有任何事情发生。
PS。我知道我可以使用$('.foo,.boo,.koo')
的直接选择器,但这不是我正在寻找的
答案 0 :(得分:3)
您可以选择多个元素,如下所示:
$(".foo, .boo, .koo").removeClass('someClass');
这被称为多选择器,如https://api.jquery.com/multiple-selector/
所述如果要将它们存储在变量中,则必须使用add
方法
var elements = $(".foo").add(".koo").add(".boo");
答案 1 :(得分:1)
您可以直接添加逗号分隔的多个选择器,如下所示
$('.foo,.koo,.boo').removeClass('someClass');
编辑1:在有问题的编辑之后,如果您想在对象级别执行此操作,请尝试以下操作。
$.each([foo,koo,boo],function(i,v){
v.removeClass('someClass');
});
答案 2 :(得分:1)
如果您已经拥有多个jQuery对象,则可以使用$.add():
var combo = foo.add(koo).add(boo)
combo.removeClass('someClass')
答案 3 :(得分:0)
您可以混合和匹配以下选择器:
$('#someId, .foo, .boo').removeClass('someClass');