为了账号安全,请及时绑定邮箱和手机立即绑定

NodeList何时生效,何时是静态的?

NodeList何时生效,何时是静态的?

白衣染霜花 2019-09-20 15:24:04
从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()是唯一可用于返回“实时”节点列表的选项。看看这些方法,你可能会气馁,但不是。


查看完整回答
反对 回复 2019-09-20
  • 2 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信