您的位置:首页 > 其它

document.getElementById 与 document.all区别?

2011-02-26 00:26 495 查看
document.getElementById 与 document.all区别?
document.all 是微软的东西,只被IE支持。
document.getElementById 是公共标准,被目前的所有主流浏览器支持。
document.getElementById ,document.all,在IE和 Firefox 下的区别在IE和 Firefox下的区别,具体测试代码。
IE下用document.getElementById,document.all都是可以的。
但在Firefox下只能用document.getElementById,另外 innerText innerHTML 可以在IE下通过,
但innerText在Firefox下是不起作用的,测试发现。
document.all是IE下面的document属下的所有元素的集合,
可以通过document.all.length来看到document下面的元素数量。
document.all(index)后面的index参数是一个集合方法。
如果index是string那么可以获得document下面具有id或name为index的元素如果只有一个的元素话返回这个元素如果有多个元素id或name是index的话就返回一个集合如果没有的话就返回null。
这样并不好因为当你不知道有多少个id或name是index的元素时就比较容易出错。
如果index是数字的话,那么会返回以0为基础的文档中第index个元素,元素的文档序列可以通过Element.sourceIndex来获取。
document.getElementById(name) 只返回第一个具有id或name为name的元素所以不是null就是一个元素,而不会返回集合这样就大大减少了错误发生的可能性。
如果需要返回一个id或name为name的元素集合的话就要用,document.getElementsByName(name)来获取。
另外document.all只有IE支持 其他浏览器并不支持而document.getElementById 和document.getElementsByName是任何浏览器都支持的。
document.getElementById
返回 ID 属性值与指定值相同的第一个对象,如果 ID 属于一个集合,getElementById 方法返回集合中的第一个对象。
document.all
如果 ID 属于一个集合,document.all返回一个集合。而且只支持IE。
所以在使用IE的前提下,document.all(index)要生效需要保证index是唯一的
所以如果你想让你写的js脚本在目前的大多浏览器中使用,需要使用[公共标准] 标准的Javascript
document.getElementById 与 document.getElementsByName 的区别:
id是唯一的。
name 可以有重复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐