document.getElementById 是否返回一个实时 dom 元素

Does document.getElementById return a live dom element?

本文关键字:一个 实时 dom 元素 getElementById 是否 返回 document      更新时间:2023-09-26

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 中添加或删除元素时,列表将自动更新。

是的,只有某些getEleme和querySele函数返回活动节点列表