Internet Explorer元素ID错误,至少带有SELECT标记;不需要document.getElementById即可识别它

|| 我正在重构某些(其他人的)代码,并且不久前我就已经看到了这一点,而且我不记得它发生的原因。 HTML中有一个SELECT标记,如下所示:
<SELECT id=\"model\"></SELECT>
在JavaScript中,有一条语句为SELECT标记添加了一个选项:
model.options[i]=option;
由于某种原因,它在Internet Explorer(在IE 7和8中测试)中可以正常工作。它应该触发错误,但不会。但是,在类似FireFox的浏览器中,这应引起错误,因为代码应为:
document.getElementById(\"model\").options[i]=option;
除了Internet Explorer不想遵循W3C标准外,这背后的原因是什么?这仅仅是SELECT或任何数量的标签的问题吗? 谢谢!     
已邀请:
        如果我没记错的话,Internet Explorer会创建与元素的3属性对应的全局变量。 因此,当您创建元素时...
<select id=\"wtv\"></select>
...在IE的幕后,IE将全局变量variable5ѭ初始化为该元素的DOM对象。但是其他浏览器不执行此操作,因此未定义“ 5”。 一些引用: MSDN博客-Internet Explorer为DOM中的每个对象创建全局变量 Internet Explorer –具有ID的元素在JS中获得匹配的全局变量。 Internet Explorer全局变量爆炸     

要回复问题请先登录注册