document.getElementById 你真正了解了吗?
2010-12-22 10:05
288 查看
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是考虑的兼容性的问题才这么做的。
<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是考虑的兼容性的问题才这么做的。
相关文章推荐
- 有多少人真正了解document.getElementById?
- document.getElementById 你真正了解了吗
- document.getElementById 你真正了解了吗?
- document.getElementById 你真正了解了吗?
- 有多少人真正了解document.getElementById?
- document.getElementById 你真正了解了吗?
- javaScript中document.getElementById 你了解多少?
- var d = document.getElementById 错误
- [转载] jquery中的$("#id")与document.getElementById("id")的区别
- document.getElementById的简便方式
- table 的 id 属性不被 document.getElementById支持
- 学习document.getElementById()的使用
- PointPlay(document.getElementById('selectForPlay').value);
- eval和document.getElementById
- javascript:document.getElementById('<%=this.txtCreateTimeEnd.ClientID %>').value
- document.getElementById(...) is null or not an object
- IE中document.getElementById和document.getElementsByName特殊表现
- 错误:document.getElementById("userForm").submit();Object is not a function
- document.write和document.getElementById("demo").innerHTML=的区别
- document.getElementById与getElementByName的区别