jQuery如何使用add()将元素添加到变量缓存的选择中

时间:2015-04-14 01:25:51

标签: jquery

我在变量中存储元素集合。

我想使用myvariable.add('#myselector')

为此选择添加一个元素

但是,我无法使用它:集合的长度和内容保持不变,并且不会添加新元素。

jsFiddle

是否有权在javascript变量上使用.add()而不是像$('......')这样的jQuery集合?

由于

2 个答案:

答案 0 :(得分:2)

add()方法不会更改原始对象,而是创建新对象。在这种情况下,您必须将集合的值设置为创建的新对象:

$(function(){
    var collection = $('#foo');
    console.log(collection);

    collection = collection.add('#bar');
    console.log(collection);

});

答案 1 :(得分:1)

来自jQuery文档(.add() method):

  

创建一个新的jQuery对象,其中元素已添加到匹配元素集中。

因此,您实际上并未修改示例中的collection变量。您每次都记录相同的未修改变量。您需要将新创建的对象分配回collection变量:

Updated Example

$(function () {
    var collection = $('#foo');
    console.log(collection);

    collection = collection.add('#bar');
    console.log(collection);
});