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());}
