是否仍然需要document.getElementById('id')或$('#id'
Is document.getElementById('id') or $('#id') still necessary to select an element by ID?
我今天看到了这个要点,在评论中作者提到
var log = document.getElementById('log');
是不必要的,因为在Javascript中,您可以只使用log
来访问DOM元素。所有浏览器都是这样吗?这项技术是否有名称/参考?
令人惊讶的是,这实际上是在HTML5规范中,所以是的,它会起作用,不,它不是人们建议的遗留功能(至少现在是这样了——它过去只是IE的把戏)。
你可以在这里阅读规范,http://www.whatwg.org/specs/web-apps/current-work/#named-访问窗口对象
我同意它实际上混淆了名称空间,并可以自由地建议不要使用它——但它会而且确实适用于所有主要浏览器!
在Internet Explorer下,ID将成为全局变量,并且可以通过该名称在任何地方访问。
我认为这是一件坏事。
我记不起它的所有特征和方面,我尽我所能假装它从未发生过。
简而言之:仅IE的"功能"--最好忽略。阅读本文了解更多详细信息。
这是一个可疑的"特性",不应该用于任何用途。它引入了全局状态和全局范围的变量,这是任何应用程序中都要避免的要点之一,更重要的是,它似乎只适用于Internet Explorer和某些版本的Chrome。几乎可以肯定,它的性能会降低,因为浏览器不仅必须访问DOM,而且还必须事先查找名为log
的变量。
对于现代浏览器的新版本,它可能会工作,但旧版本无法处理。如果你想让你的网站在旧的浏览器中工作,可以使用document.getElementById.
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Javascript复选框函数:;缺少:在属性id之后"
- Twitter引导程序Typeahead-Id&标签
- 如何与特定ID交谈
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 在HTML文档中存储对象ID: ID vs data-id vs
- 我可以使用jQuery选择 #id > #id 吗?
- 为什么jquery选择器("id,id")选择具有重复id的所有元素?