如何使用jQuery的add()
在循环中添加元素?
http://jsfiddle.net/smqtxtnt/2/
var allFields1 = $([]).add($('<input/>')).add($('<input/>').add($('<input/>')));
console.log(allFields1);
var allFields2 = $([]);
$([1,2,3]).each(function (index) {
var input=$('<input/>').val(index);
allFields2.add(input);
})
console.log(allFields2);
我知道为什么我的上述代码无法按https://api.jquery.com/add/所描述的那样工作:
以下内容不会保存添加的元素,因为.add()方法会创建一个新集并使原始集在pdiv中保持不变:
var pdiv = $( "p" ); pdiv.add( "div" ); // WRONG, pdiv will not change
......但不知道该怎么做。
答案 0 :(得分:3)
保存结果:
allFields2 = allFields2.add(input);
旁注:如果您尝试做的只是循环三次,那么您不需要在数字数组周围使用jQuery对象:
[1,2,3].forEach(function(value, index) {
var input=$('<input/>').val(index);
allFields2 = allFields2.add(input);
});
或
$.each([1,2,3], function(index) {
var input=$('<input/>').val(index);
allFields2 = allFields2.add(input);
});