在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)