在 IE11 与 IE8 中引用 DOM 个元素
Referencing DOM elements in IE11 vs IE8
我有一个包含以下内容的网站 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 访问它 - 但它一直被认为是非常糟糕的做法,以至于没有人被教导过那样。我只能想象它最终在 Internet Explorer 11 中被删除了。我不知道它叫什么,我认为它从来没有被赋予一个特定的名称,这意味着谷歌搜索将 return 非常有限的结果。不幸的是,如果他们确实删除了它,可能没有任何说明。
这里有一些来自 Whosebug 的其他资源以获取更多信息:
Do DOM tree elements with ids become global variables?
Why don't we just use element IDs as identifiers in JavaScript?
我有一个包含以下内容的网站 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 访问它 - 但它一直被认为是非常糟糕的做法,以至于没有人被教导过那样。我只能想象它最终在 Internet Explorer 11 中被删除了。我不知道它叫什么,我认为它从来没有被赋予一个特定的名称,这意味着谷歌搜索将 return 非常有限的结果。不幸的是,如果他们确实删除了它,可能没有任何说明。
这里有一些来自 Whosebug 的其他资源以获取更多信息:
Do DOM tree elements with ids become global variables?
Why don't we just use element IDs as identifiers in JavaScript?