带有事件的jquery选择器变量

时间:2013-07-19 11:11:00

标签: jquery

我遇到了使用jQuery事件的选择器变量的问题。

当我将两个或三个jquery对象存储到变量中时,如何使用它们在相同的事件函数中编写代码而不重复相同的行?这可能听起来令人困惑,但看看我的例子,你会得到它。

我可以通过

轻松写出来
$("#a, #b").click( function(){ 
 // stuff
} );

但是当我像这样存储它们时:

var a = $("#a"), b = $("#b");

并希望为每个人分配点击事件。

//这有效但太长了

a.click(function(){});

b.click(function(){});

//我想要像

这样的东西
(a + b).click(function(){});

不知道这是否可以在jquery,如果是这样,请帮助我 提前致谢

这是我测试的jsfiddle链接,http://jsfiddle.net/UmeaW/

4 个答案:

答案 0 :(得分:4)

您可以使用.add

a.add(b).click(function(){});

答案 1 :(得分:2)

您也可以使用$.each

$.each([a, b, c], function () {
    this.click(function () {    
        result.text($(this).text() + " clicked");
    });
});

DEMO

答案 2 :(得分:0)

尝试:

var c = a.add(b);
c.click(function(){});

答案 3 :(得分:0)

首先不要像$(a,b,c)那样,记住jQuery选择器是基于CSS选择器的 http://api.jquery.com/category/selectors/

make $(“#a,#b,#c”)

如果你可以使用函数$ .each()

$("#a, #b, #c").each(function(){
    var a = $(this);    
    a.click(function(){     
        result.text( a.text() + " clicked");
    });
})

http://jsfiddle.net/Xjfsx/