document.getElementById('mybox')和mybox有什么区别?

时间:2011-09-20 14:42:11

标签: javascript

  

可能重复:
  document.getElementById(“someId”) Vs. someId

例如,我有一个id="mybox"属性的元素,直接用document.getElementById('mybox')mybox调用它有什么区别,因为我看到它们在大多数浏览器中都一样吗? jsfiddle显示实例 http://jsfiddle.net/usmanhalalit/TmS3k/

如果没有区别,为什么document.getElementById('mybox')如此受欢迎,直接致电mybox是不好的做法?

3 个答案:

答案 0 :(得分:21)

某些呈现模式中的某些浏览器会为每个带有id的元素创建一个全局变量。

这是非标准的,不会到处工作,绝对不能依赖。

答案 1 :(得分:6)

他们并非“两者都一样”。 IE将元素ID引入全局变量,其他浏览器在某种程度上复制了它,但并不完全支持它。这被认为是一个非常糟糕的主意,只是不要这样做。

答案 2 :(得分:4)

mybox.value在大多数情况下不起作用。我相信IE是唯一支持它的浏览器(也只是它的某些版本)。在我的Firefox浏览器中,我在控制台中收到mybox not defined错误消息。