在 javascript 中,我总是使用
document.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 中测试此处)