我遇到了使用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/
答案 0 :(得分:4)
您可以使用.add
a.add(b).click(function(){});
答案 1 :(得分:2)
您也可以使用$.each
:
$.each([a, b, c], function () {
this.click(function () {
result.text($(this).text() + " clicked");
});
});
答案 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");
});
})