最近在项目开发中碰到在IE浏览器中,如果HTML页面定义的标签元素ID跟JS中定义的全局变量名相同,则在JS中可以用该变量直接访问、设置HTML页面中标签ID相同元素的属性和方法。

详细分析如下:

 在HTML页面中定义了ID为msg的DIV标签:

<div id='msg'>

      this is test in IE broswer.

    </div>

 在JS中定义了名称为msg的全局变量:

   <script type='text/javascript'>

       var msg;

       console.log(msg.innerHTML);

   };

  </script>

则在JS中可以访问到ID为msg的DIV标签对象的innerHTML属性。


正常情况下在JS中如果要想获得HTML页面中指定ID的标签元素,通常为document.getElementById('ID名称')方式,然而在IE浏览器中,可以直接通过JS中相同名称的全局变量访问、设置HTML页面中相关元素的属性和方法。