如何从 jQuery 访问实时 DOM 集合?
以这个 HTML <div id='a'></div>
为例和这段 JavaScript 代码:
var a = $('#a');
var divs = a[0].getElementsByTagName('DIV');
for(var i=0; divs.length < 20; ) {
a.append($('<div>'+(i++)+'</div>'));
}
它将向 <div id='a'>
添加 20 个 div 子级因为divs
是一个实时集合。
jQuery 中有什么东西可以替换第二行以获得相同的结果吗?
var divs = $('#a div');
导致无限循环。
JSFiddle 是 here .
最佳答案
如果 #a
已经包含 div:
var $a = $('#a'),
toAdd = Math.max(20 - $a.find('div').length, 0);
for (var i = 0; i < toAdd; i++) {
$a.append('<div>' + i + '</div>');
}
这相当于上面的代码。
关于javascript - 如何使用 jQuery 获取 DOM 实时集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210635/