HTMLCollection
HTMLCollection
接口表示一个包含了元素(元素顺序为文档流中的顺序)的通用集合(generic collection),还提供了用来从该集合中选择元素的方法和属性。
HTML DOM 中的 HTMLCollection
是即时更新的(live);当其所包含的文档结构发生改变时,它会自动更新。
下面的代码由于即时更新的特点会造成死循环
<body>
<div>1</div>
<div>2</div>
</body>
<script>
const div = document.getElementsByTagName("div");
for (let i = 0; i < div.length; i++) {
console.log(i);
document.body.appendChild(div[i].cloneNode());
}
</script>
使用document.querySelectorAll不会,因为他返回的是NodeList
const div = document.querySelectorAll("div");
for (let i = 0; i < div.length; i++) {
console.log(i);
document.body.appendChild(div[i].cloneNode());
}