我有两个像这样定义的变量:
var $a = $('#a'),
$b = $('#b');
如何使用$ a和$ b重写以下行?
$('#a, #b').click(function(e){...});
答案 0 :(得分:6)
$([$a.get(0), $b.get(0)]).click(function(e) { ... });
答案 1 :(得分:3)
$a.add($b).click(function(e){...});
add
返回一个包含联合的新节点集。 $ b可以“几乎是$()接受的任何东西。”
答案 2 :(得分:0)
看来你可以做到这一点:
$(deleteBtn).add(copyBtn).add(moveBtn).click(function(){});
正如它在这里所说http://api.jquery.com/add/
答案 3 :(得分:-1)
取决于你想要用你的vars做什么。
您可以将它们定义为一个:
var $a = $('#a, #b');
$a.click()
或单独使用它们:
/* This way the click event is applied even if each selector returns
more then one element. And $a and $b is preserved */
$([].concat($a.toArray()).concat($b.toArray())).click(function () {
console.log(this)
});
修改强>
更新了代码。
..弗雷德里克