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

javascript / 2012年12月12日 18时11分 / 8457人浏览
如果在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() 等方法