javascript - 如何使用 jQuery 获取 DOM 实时集合?

标签 javascript jquery dom

如何从 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/

相关文章:

javascript - HTML 按钮和 Controller 未连接

javascript - PHP/HTML/JS : External file manager

javascript - jquery - 为文本字段 "changing"建立事件? (按键工作,但没有退格事件)

javascript - 如何检测元素右半部分和左半部分的点击

javascript - 安装 SSL 后幻灯片无法正常工作

仅显示第一张幻灯片的javascript内容 slider

javascript - 隐藏面板 - 默认情况下在页面加载时打开

javascript - 克隆、播放和替换克隆的 Dom - Javascript/Jquery

javascript - 为什么函数中的childNodes[i]返回未定义但警告对象?

javascript - 图片延迟加载和卸载