我正在寻找一种组合jquery变量的方法。通过相关问题,似乎没有人尝试我想做的事情。
$("body, div, p")
是一种由选择器组合的方法,但是在为变量分配选择器之后,如何以类似的方式组合它们?
这是我尝试过的一种方法,但没有让它发挥作用。我也尝试将它们放入一个数组中(只需在$ body和$ p之后添加括号)。
$body = $("body");
$div = $("div");
$p = $("p");
$mixed = $($body, $div, $p);
// $mixed = $("body, div, p"); is NOT what I am looking for
在我的实际脚本中,我有一些<select>
个输入分配给变量。我想将它们分组,所以说我有一个<select>
有“FRUIT”而另一个有“VEGETABLES”,我可以把它们都放到一个名为“PRODUCE”的jquery变量中。然后,如果我需要在两者上执行任何操作,我会使用生成。
......但这可能只是一种愚蠢的做事方式。
答案 0 :(得分:43)
也许您正在寻找.add()?
$mixed = $body.add($div).add($p);
答案 1 :(得分:2)
对我来说,它在jQuery 1.10.2中可以很好地在传递给jQuery构造函数之前简单地组合数组文字中的元素:$mixed = $([$body, $div, $p]);
答案 2 :(得分:0)
我也在寻找这样的东西。在我的情况下,我将一些对象传递到一个公共函数,一些在内存中创建,我想将相同的click事件应用于所有对象。最后我采用了James的添加解决方案,但我想我会分享另一个选择。
如果将对象放入数组中,则可以使用每个迭代器对它们执行操作。
[$body, $div, $p].each(function(i,e) { e.DoSomething(); });
此语法较长,您没有获得可重用的$ mixed对象,但可能会出现一些有用的情况。