0

我想复制 jquery 对象选择,例如

当我选择多个对象时

var test = $(".someclass");

我得到具有该类的所有选定对象的对象。

现在我怎么能在那场战争中继续添加对象,比如test.push($(".somediv"));

我也看到了,但是 当我尝试将对象添加到空变量时.add( jQuery object )它给了我错误Cannot call method 'add' of null

另外,我如何创建没有值的 jquery 变量,然后再添加它们?

4

3 回答 3

6

您可以使用$()创建一个空的 jQuery 对象,然后您可以使用.add()通过选择器向其中添加更多项目:

var items = $().add(".someClass");
items = items.add(".someDiv");

使用时.add(),请记住它返回一个新的 jQuery 对象,其中添加了新元素。它不会修改原始 jQuery 对象。很容易忘记这一点并执行以下操作:

items.add(".someDiv");

并想知道为什么没有添加任何内容items(这让我咬了好几次)。

于 2012-08-10T23:16:13.527 回答
1

jfriend00解决方案是您在现代版本的 jQuery 中使用的解决方案。我也经常使用这个:

var classes = ['foo', 'bar', 'bla', 'asd'];
var $els = $('.'+ classes.join('.,'));
于 2012-08-10T23:19:33.663 回答
0

你可以这样做

var objects = $().add(".className").add(".divName");
于 2012-08-10T23:21:42.820 回答