在JavaScript中,我总是使用docuemtn.getElementById来访问DOM元素,但最近我不小心访问它只使用ID和它的工作。例如:我可以通过id直接访问DOM元素吗?
<input id="element_id" type="text">
,并在javascript
element_id.onclick=fun;
它是正确的代码?它为什么有效? (在我拥有的所有浏览器中)
在JavaScript中,我总是使用docuemtn.getElementById来访问DOM元素,但最近我不小心访问它只使用ID和它的工作。例如:我可以通过id直接访问DOM元素吗?
<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中测试here)