IE的getelementbyid(elementid)方法的使用(转)

 

测试如下:

text1:
    <input name="textName1" type="text" id="textName2" />
<br>
  text2:
    <input name="textName2" type="text" id="textName1" />
<br>
  <input type="button" name="Submit" value="text1"  onclick=alert(document.getElementById('textName2').value) />
  <input type="button" name="Submit2" value="text2"  onclick=alert(document.getElementById('textName1').value) />
我在IE中测试了上面的代码,在第一个文本框中输入1,在第二个文本框中输入2,然后点下面的两个按钮,猜一下结果是什么?

我本意是按钮1返回第一个文本框的值,按钮2返回个文本框的值。
结果是两个按钮都返回了第一个文本框的值。

说明ie执行document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是按照ID来查找的。
在fireFox中不存在这样的问题,fireFox执行document.getElementById(elementName)的时候只查找id等于elementName的对象,如果不存在则返回null。
可能IE是考虑的兼容性的问题才这么做的。


作者:高级测试开发网
博客地址:https://seniortesting.club
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/seniortestingdev/p/2383323.html