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?