使用.add()选择多个jQuery对象

.add()方法是否允许一次选择多个对象而不是一次添加一个?

 one.add(two).add(three).add(four).on("click", function() { }); 

以下变量以它们的方式设置,因为每个变量都具有不同的function。

 var one = $("#1"); var two = $("#2"); var three = $("#3"); var four = $("#4"); 

但是如果我想添加一个适用于所有这些元素的额外函数呢? 我是否必须逐个添加它们?

我知道你可以使用$("#1,#2,#3,#4")选择它们,但我只是想利用上面的变量。

我更喜欢这种arrays方法,纯粹是为了可读性……

 $([one, two, three, four]).each(function() { // your function here }); 

您不能一次添加多个对象,例如:

 var groupThree = one.add(three, five); // will not work as expected 

你可以缓存添加的对象,这样你只需要添加一次 – http://jsfiddle.net/X5432/

 var one = $("#1"); var two = $("#2"); var three = $("#3"); var four = $("#4"); var five = $("#5"); var groupOne = one.add(two).add(three).add(four); var groupTwo = groupOne.add(five); $('#first').click(function(e){ e.preventDefault(); groupOne.css({'background': '#00FF00'}); }); $('#second').click(function(e){ e.preventDefault(); groupTwo.css({'background': '#FF0000'}); }); 

但我更喜欢数组方法,这只是一种不同的思考方式。

你可以将它们放入这样的数组中

 var k = [one,two,three,four] $.each(k,function(){ $(this).click(function(){ //Function here }); });