使用.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 }); });