关于多个对象的JQuery

时间:2016-12-01 00:41:38

标签: 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

但没有任何事情发生。

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

4 个答案:

答案 0 :(得分: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/

答案 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');