将多个元素添加到单个var并检测是否有任何元素被单击?

时间:2013-10-01 19:43:24

标签: javascript jquery

我有一个页面,可以有三个可能的元素之一。我想将任何存在的元素分配给var,然后检查是否单击了var。 我尝试使用add(),但它让我很困惑:

var testingVar = $('#element-one').find('.object').add('#element-two').find('.object').add('#element-three').find('.object');

$(testingVar ).click(function() {
   alert('works');
});

在我看来,add()会覆盖以前的add()?如果我在一个有#element-three的页面上,它可以工作,如果在一个包含element-one或element-two的页面上,它就不会。如果我将var更改为

var testingVar = $('#element-one').find('.object');

然后一个包含元素的页面可以工作。

在这种情况下,有人可以帮我理解如何正确使用add()吗? 感谢

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是:

$('#element-one .object').add('#element-two .object').add('#element-three .object');

.find()返回一个新的jquery对象。

但是,我认为在这种情况下这会更容易:

$('#element-one .object, #element-two .object, #element-three .object');

或者更简单一点,如果你可以更改标记,就是给你当前正在选择的每个元素作为一个普通的类,并执行以下操作:

$('.common-class .object')