在 javascript 中,我总是使用 docuemtn.getElementById 来访问 DOM 元素,但最近我不小心只使用 id 访问了它并且它有效。例子:
<input id="element_id" type="text">
在javascript中
element_id.onclick=fun;
它是正确的代码吗?为什么它有效?(在我拥有的所有浏览器中)
在 javascript 中,我总是使用 docuemtn.getElementById 来访问 DOM 元素,但最近我不小心只使用 id 访问了它并且它有效。例子:
<input id="element_id" type="text">
在javascript中
element_id.onclick=fun;
它是正确的代码吗?为什么它有效?(在我拥有的所有浏览器中)
是的,在某些浏览器中,元素可用作以其 ID 命名的全局变量。
不要使用这个“功能”。它是非标准的,也不是普遍支持的。
有时它会在某些浏览器中工作。例如,如果您创建以下元素:
<div id="Math">I'm a math div!</div>
两者都Math
将window.Math
返回MathConstructor {}
,因为这是正常window.Math
返回的。(此处在 Chrome 中测试)