JavaScript中的document.getElementById是否返回实时DOM元素?我有兴趣知道性能原因
解决方法
标准和“实时”之间的区别通常用于元素列表. document.getElementById返回对DOM节点的单个对象引用.获取节点后,引用将始终指向同一节点.
示例的HTML:
<div id="foo"></div>
JS为例子:
var foo,bar; foo = document.getElementById('foo'); //gets the div bar = document.getElementById('bar'); //null foo.setAttribute('id','bar'); console.log(foo.id); //'bar' console.log(bar.id); //TypeError
引用不会因为元素的ID可能已更改而更新.
这与document.getElementsByTagName相反,后者返回具有给定标记的元素列表.将元素添加到DOM或从DOM中删除元素时,列表将自动更新.