代码推演
新增节点后,旧集合为什么没变?
<ul id="list"><li class="item">HTML</li></ul>
<script>
const items = document.querySelectorAll('.item');
const node = document.createElement('li');
node.className = 'item';
node.textContent = 'CSS';
document.querySelector('#list').append(node);
console.log(items.length);
console.log(document.querySelectorAll('.item').length);
</script>
提问:旧集合和重新查询的长度分别是多少?创建节点、插入节点与重新查询是三个什么操作?
查看参考解析
分别为 1 和 2。querySelectorAll 返回静态 NodeList,插入后旧集合不自动增加;createElement 创建节点,append 插入,重新查询得到新的快照。