Javascript 在IE11和IE8中引用DOM元素

Javascript 在IE11和IE8中引用DOM元素,javascript,html,dom,internet-explorer-8,internet-explorer-11,Javascript,Html,Dom,Internet Explorer 8,Internet Explorer 11,我有一个包含以下HTML/javascript的网站: <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"><spa

我有一个包含以下HTML/javascript的网站:

<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中可以这样做?

从技术上讲,当您向元素添加id时,您可以使用
id.property
直接从DOM访问它-但这一直被认为是非常糟糕的做法,以至于没有人被这样教过。我只能想象它最终在InternetExplorer11中被删除。我不知道这叫什么,我也不认为有人给过它一个特定的名字,这意味着谷歌搜索的结果非常有限。不幸的是,如果他们真的移除了它,可能就没有任何东西这么说了

以下是stackoverflow的一些其他资源,以了解更多信息:


可能与ID为自动全局变量的元素有关,我不知道这方面的细节,但它是这样的。如果您在此页面上打开console并仅键入
hlogo
,它将返回元素。在这里,即使在IE11中,它也对我有效。