我在变量中存储元素集合。
我想使用myvariable.add('#myselector')
但是,我无法使用它:集合的长度和内容保持不变,并且不会添加新元素。
是否有权在javascript变量上使用.add()
而不是像$('......')
这样的jQuery集合?
由于
答案 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
变量:
$(function () {
var collection = $('#foo');
console.log(collection);
collection = collection.add('#bar');
console.log(collection);
});