在什么标准中指定具有id的元素也获得全局变量?

时间:2013-12-28 23:14:45

标签: javascript dom

我很久以前就注意到了这一点,但我从来没有找到任何关于为什么浏览器首先支持这一点的信息。

在每个主要浏览器中,可以通过使用其id作为全局变量来引用页面上的元素。 This fiddle 显示了其工作原理的示例。您也可以自己尝试(在此页面上),只需打开控制台并在其中粘贴footer(这将返回此页面上的<div id="footer">),或者如果您想在没有控制台的浏览器,只需从你的网址栏运行javascript:alert(footer),它应该提醒“[object HTMLDivElement]”或类似的内容。

我已经在Chrome,Firefox,Opera甚至Internet Explorer中对此进行了测试,并且在每个浏览器中都可以使用它。在搜索了关于它的任何标准之后,我找不到任何东西。

我的问题是,为什么这在每个浏览器中都有效,这是否属于任何标准?或者这只是核心JavaScript?

2 个答案:

答案 0 :(得分:0)

如我的评论中引用的链接所述,没有标准。相反,它是Internet Explorer实现的行为和其他浏览器为兼容性而复制的行为

答案 1 :(得分:0)

它与文档对象模型(DOM)有关,它定义了文档的逻辑结构以及文档的访问和操作方式。这不是最佳实践,最好使用document.getElementById();避免命名冲突等。

Here是先前回答此问题的示例答案。