从MDN for NodeList:在某些情况下,NodeList是一个实时集合,这意味着DOM中的更改会反映在集合中。例如,Node.childNodes是实时的: var parent = document.getElementById('parent'); var child_nodes = parent.childNodes; console.log(child_nodes.length); // let's assume "2" parent.appendChild(document.createElement('div')); console.log(child_nodes.length); // should output "3"在其他情况下,NodeList是静态集合,这意味着DOM中的任何后续更改都不会影响集合的内容。document.querySelectorAll返回一个静态NodeList。所以....有点烦人!对于哪些方法返回实时列表以及哪些方法返回静态列表,是否有任何中心引用,而无需单独检查DOM API的所有各个部分?这里有什么规则吗?
2 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
我不知道是否有中心参考
document.getElementsByTagName(),document.getElementsByTagNameNS并且document.getElementsByClassName()是唯一可用于返回“实时”节点列表的选项。看看这些方法,你可能会气馁,但不是。
添加回答
举报
0/150
提交
取消