JavaScript文档.getElementById(“id”)和元素id属性

JavaScript document.getElementById(“id”) and element id attribute

本文关键字:id 元素 属性 JavaScript getElementById 文档      更新时间:2023-09-26

我有:

<div id="myDiv1"></div>
<div id="myDiv2"></div>

在JavaScript中,我可以通过以下方式设置div innerHTML:

myDiv1.innerHTML = "myDiv1, Hi!"

document.getElementById("myDiv2").innerHTML = "myDiv2, Hi!"

当我可以简单地使用元素Id时,为什么要使用document.getElementById?这是每次都有效还是仅在某些特殊情况下有效(如简单示例)?

谢谢,

Mike

当我可以简单地使用元素Id时,为什么要使用document.getElementById?

为了避免冲突。浏览器上的全局命名空间非常拥挤,各种各样的东西都被丢弃在那里,包括(正如你所发现的)引用任何带有id的元素的全局(所谓的"自动全局")。

相反,getElementById只做它所说的,由它的id找到元素;它更受约束。(除了旧版本的IE中的错误,旧版本也关注具有name属性的元素。)

编写时

myDiv1.innerHTML = "myDiv1, Hi!"

您正在调用窗口对象,所以实际的调用就像这个

window.myDiv1.innerHTML = "myDiv1, Hi!"

这种行为现在已被弃用,必须避免。相反,我们应该使用

document.getElementById`