Javascript getElementById()是如何在机器代码中实现的?当它是DOM文档的一部分时,为什么它不是DOM元素的一部分?

Javascript getElementById()是如何在机器代码中实现的?当它是DOM文档的一部分时,为什么它不是DOM元素的一部分?,javascript,dom,Javascript,Dom,为什么getElementById()不是DOM元素的一部分,而同时又是DOM文档的一部分,请记住文档在层次结构中的地位高于元素。getElementById()是如何在浏览器的机器代码中实现的 ?id值在文档中必须是唯一的,因此不需要在另一个元素中逐个id查找元素。只要在文件上找就行了 在ravel情况下,您需要通过id仅在另一个元素的子代中查找元素,您可以将querySelector与id选择器一起使用: const e = someElement.querySelector("#

为什么
getElementById()
不是DOM元素的一部分,而同时又是DOM文档的一部分,请记住文档在层次结构中的地位高于元素。getElementById()是如何在浏览器的机器代码中实现的


id
值在文档中必须是唯一的,因此不需要在另一个元素中逐个id查找元素。只要在文件上找就行了

ravel情况下,您需要通过
id
仅在另一个元素的子代中查找元素,您可以将
querySelector
与id选择器一起使用:

const e = someElement.querySelector("#the-id");

…但同样,这是一个罕见的用例,可能表明
id
s被滥用。

来自“Web兼容性防止getElementById()方法暴露在元素上…”getElementById()如何在浏览器的机器代码中实现?@SmilingMouse-这将因浏览器而异。但不管它是如何实现的,它都非常非常快。