JQuery - 使用变量的多个元素的一个处理程序

时间:2010-10-19 08:52:39

标签: jquery css-selectors handler

我有两个像这样定义的变量:

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

如何使用$ a和$ b重写以下行?

$('#a, #b').click(function(e){...});

4 个答案:

答案 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)
});

修改

更新了代码。

..弗雷德里克