我想用jQuery创建一些DOM节点,将它们附加到html,同时保持它们被选中,所以我不需要再次选择它们。
这是我的代码:
var foo=$('');
for(var i=0;i<10;i++){
var bar=$('<div>');
$('body').append(bar);
foo.add(bar);
}
显然foo最终会保持空虚,所以它不会起作用。如果不选择最后的所有栏,我该如何处理?
答案 0 :(得分:3)
您可以使用数组,而不是jQuery对象:
var foo = [];
for(var i=0; i < 10; i++) {
var bar = $('<div>');
$('body').append(bar);
foo.push(bar[0]);
}
foo = $(foo);
答案 1 :(得分:2)
此问题的原因是.add()
方法不会更改原始jQuery集合对象,但会返回一个新对象。
您只需将代码更改为: The DEMO.
var foo=$('');
for(var i=0;i<10;i++){
var bar=$('<div>');
$('body').append(bar);
foo = foo.add(bar);
}
console.log(foo);
答案 2 :(得分:1)
要向jQuery集合添加新元素,请使用foo = foo.add(bar)
。
以下是您的代码的更新版本:
var foo = $();
for (var i = 0; i < 10; i++) {
var bar = $("<div />").appendTo("body");
foo = foo.add(bar);
}
foo.css("color", "red");