0

我有一個網站,包含以下HTML/JavaScript的:引用DOM元素VS IE8

<input type="text" id="txtPhaseID" onkeypress="return onlyNumbers();" /> 
<a id="btnLookup" onclick="GetEventLookupData(txtPhaseID.value);this.blur();return false;" href="javascript:void(0);" class="btn"><span>Lookup</span></a> 

在onclick事件txtPhaseID.value參考工作在IE8,但IE11失敗。我希望它會在兩者都失敗,因爲你必須使用document.getElementById。

這是爲什麼在IE8中工作?

+0

可能有事情做與編號的元素自動是一個全局變量,我不知道這個細節,但它是這樣的。如果您在此頁面上打開控制檯,只需輸入「hlogo」,它將返回元素。這裏http://stackoverflow.com/questions/9740275/html-element-id-as-javascript-variable – Huangism

+0

即使在IE11中它也適用於我。 – romuleald

回答

2

從技術上講,當你爲一個元素添加一個id時,你可以直接從DOM中訪問它id.property - 但是一直認爲這是一個非常糟糕的做法,以至於從來沒有人這樣教過。我只能想象它最終在Internet Explorer 11中被刪除。我不知道這是什麼,我不認爲它曾經被給過一個特定的名稱,這意味着谷歌搜索將返回相當有限的結果。不幸的是,如果他們確實刪除了它,那麼可能沒有任何說法。

下面是其他一些資源從計算器瞭解更多信息:

Do DOM tree elements with ids become global variables?

Why don't we just use element IDs as identifiers in JavaScript?