经常有网友问到document.all 与 document.getElementById的区别在哪里,哪些地方不同呢?
1、document.all 是微软的东西,只被IE支持
经过测试发现document.all.id属性,IE FIREFOX CHROME都能支持
但是if(document.all){ 这个方法只被IE支持
alert("is IE!");
}
以下例子可以看出用document.all(id名,索引) 可以获取到多个id名一样的组件的value 如果是document.all(name名,索引)也是一样的效果
<input type="button" value="xxx1-1" id="xxc1" οnclick="haha('xxc1')" name="xxc"><!--点击后返回xxx1-1-->
<input type="button" value="xxx1" id="xxc1" οnclick="haha('xxc1')" name="xxc"><!--同上-->
<input type="button" value="xxx2" id="xxc2" οnclick="haha('xxc2')" name="xxc"><!--点击后返回xxc2-->
<input type="button" value="xxx3" id="xxc3" οnclick="haha('xxc3')" name="xxc"><!--点击后返回xxc3-->
function haha(obj){
alert(document.all(obj,0).value);
}
2、document.getElementById 是公共标准,被目前的所有主流浏览器支持
3、document.getElementById IE5.0以下的不支持!
4、document.all IE4.0以上的支持!
5、document.all是一个对象数组的引用 (适合IE)
6、document.getElementById得到的是一个对象的引用 (更好地兼容IE、FireFox等其它浏览器)