JavaScript中的document.getElementById
是否会返回实时DOM元素?我有兴趣知道性能原因
答案 0 :(得分:12)
标准和“实时”之间的区别通常用于元素的列表。 document.getElementById
返回对DOM节点的单个对象引用。获取节点后,引用将始终指向同一节点。
<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中删除元素时,列表将自动更新。