0

我有一个可以包含三个可能元素之一的页面。我想将存在的任何元素分配给 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-2 的页面上,它不会。如果我将 var 更改为

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

然后使用 element-one 的页面工作。

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

4

1 回答 1

1

我认为您正在寻找的是:

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

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

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

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

或者更简单的是,如果您可以更改标记,则为您当前通过 id 选择的每个元素提供一个公共类,然后执行以下操作:

$('.common-class .object')
于 2013-10-01T19:46:26.420 回答