将jquery变量合并到一个选择器中?

时间:2012-01-29 20:51:52

标签: javascript jquery variables

我正在寻找一种组合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>有“F​​RUIT”而另一个有“VEGETABLES”,我可以把它们都放到一个名为“PRODUCE”的jquery变量中。然后,如果我需要在两者上执行任何操作,我会使用生成。

......但这可能只是一种愚蠢的做事方式。

3 个答案:

答案 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对象,但可能会出现一些有用的情况。