我正在试图弄清楚这个简单而复杂的任务是否有解决方案。
假设我们有这些变量:
var dom1 = $('.selector1');
var dom2 = $('.selector2');
现在我想申请一个dom1和dom2的监听器。是否存在一种不同的,直接的,更可靠的解决方案,而不是逐一应用该功能?
dom1.click(function(){
//a lot of stuff
}
dom2.click(function(){
//the same lot of stuff
}
//or
$([dom1,dom2]).each(function(){
this.click(function(){
//the same lot of stuff
});
}
我知道这不是一个有效的解决方案,但我正在搜索这样的内容:
//NOT WORKING, NON-SENSE, I KNOW
$([dom1,dom2]).click(function(){
//the same lot of stuff
}
提前谢谢。
答案 0 :(得分:5)
您可以使用逗号分隔选择器选择两个集合元素:
$('.selector1, .selector2').click(fn);
或者,您可以使用add()
将包含jQuery对象的两个变量连接在一起:
dom1.add(dom2).click(fn);
答案 1 :(得分:4)
您可以使用jQuery.add
将元素添加到当前集合中。
dom1.add(dom2).click(function(){
// your code goes here
});
否则,您可以使用以逗号分隔的选择器。