just do it

关于javascript window对象属性的文档元素

如果在HTML文档中 用id 属性来为元素命名,并且如果window对象没有此名字的属性,window对象 会赋予一个属性:属性名是 id的属性值,属性值 是指向表示文档元素的HTMLElement对象

在客户端javascript 中,window对象是以全局对象的形式存在于作用域链上的最上层,这就意味着在HTML文档中 使用的id属性会成为可以被脚本访问的全局变量。如果文档中包含一个<button id=”okay” />元素,可以通过全局变量okay来引用此元素。

但是:如果window对象已经具有此名字的属性,这就不会发生。

比如:id是 “history”、”location”、”navigator”的元素,就不会以全局变量的形式出现,因为这些id已经占用了。

 

同样:如果HTML文档中包含一个id为”x”的元素,并且还在代码中声明并赋值给全局变量x,那么显示声明的变量会隐藏隐式的元素变量。

如果脚本中的变量声明出现在命名元素之前,那这个变量的存在就会阻止元素获取它的window属性。而如果脚本的变量声明出现在命名元素之后,那么变量的显示赋值会覆盖该属性的隐式值。

 

所以要用 document.getElementById() 等方法

点赞