例如,我有一个id="mybox"
属性的元素,直接用document.getElementById('mybox')
和mybox
调用它有什么区别,因为我看到它们在大多数浏览器中都一样吗? jsfiddle显示实例 http://jsfiddle.net/usmanhalalit/TmS3k/
如果没有区别,为什么document.getElementById('mybox')
如此受欢迎,直接致电mybox
是不好的做法?
答案 0 :(得分:21)
某些呈现模式中的某些浏览器会为每个带有id的元素创建一个全局变量。
这是非标准的,不会到处工作,绝对不能依赖。
答案 1 :(得分:6)
他们并非“两者都一样”。 IE将元素ID引入全局变量,其他浏览器在某种程度上复制了它,但并不完全支持它。这被认为是一个非常糟糕的主意,只是不要这样做。
答案 2 :(得分:4)
mybox.value
在大多数情况下不起作用。我相信IE是唯一支持它的浏览器(也只是它的某些版本)。在我的Firefox浏览器中,我在控制台中收到mybox not defined
错误消息。