2010-10-17 113 views
6

简单地说:jQuery对象是一个复合模式。我如何添加jQuery对象?如何将jQuery对象添加到jQuery复合对象

一个例子:

var e1 = $('#element1'); 
var e2 = $('#element2'); 

...

我知道要创建一个新的jQuery对象JQ这样的,它是由E1和E2。我希望能够做到以下几点:

var jq = $(); 
jq.addInjQueryObjects([e1, e2]); 
jq.hide(); 

我该怎么做?

顺便说一句,我意识到我可以刚刚选择#element1 AND#element2开始,这不是我说的。

回答

7

您可以使用jQuery's .add() method

var e1 = $('#element1'); 
var e2 = $('#element2'); 

var jq = $(); 
jq = jq.add(e1).add(e2); 
jq.hide(); 

它返回而不是修改原来的一个新的jQuery对象,所以你需要覆盖原来的,如果你想重复使用相同的变量。


编辑:请注意,您还可以use jQuery.merge(),这将改变原来的,但你需要的DOM元素而不是jQuery的对象的数组来传递。

var e1 = $('#element1'); 
var e2 = $('#element2'); 

var jq = $(); 
$.merge(jq, [e1[0], e2[0]]); 
jq.hide(); 
​ 
+0

摇滚非常感谢 – 2010-10-17 18:10:34

+0

的jsfiddle显示这种技术(任何人在未来的看着这一点):http://jsfiddle.net/yjtEb/ – 2010-10-17 18:11:10

+0

@George - 不客气。 – user113716 2010-10-17 18:11:21