现在的位置: 首页 > 综合 > 正文

document.layers 与 document.all 的区别

2013年08月02日 ⁄ 综合 ⁄ 共 745字 ⁄ 字号 评论关闭

document.layers是判断NETSPACE浏览器的

document.all是判断IE浏览器的

document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等在document.all数组里面,元素不分层次,是按照其在文档中出现的先后顺序,平行地罗列的所以可以用数字索引来引用到任何一个元素但比较常用的是用对象id来引用一个特定的对象,比如document.all["element"]这样

document.layers是Netscape 4.x专有的属性,是一个代表所有由储如<div><layer>等定位了的元素的数组通常也是用<div>或<layer>对象的id属性来引用的,但是这里面不包含除此以外的其它元素

其实这两个属性没什么可比性,大概你经常看到他们同时出时,这有一个历史原因在第四代浏览器出现的时候,标准相当混乱,Netscape和微软分别推出了它们的Navigator 4.x和IE 4.0,这两个浏览器的巨大差异,也使开发者面临了一个使网页跨浏览器兼容的噩梦而document.layer和document.all分别是两者一个最显著的标志,为了确定浏览者使用的什么浏览器,通常用是否存在document.layers和document.all来判断
新的统一的标准用document.getElementById等系列方法来引用DOM对象,而且Netscape 6.0以后放弃了layers特征,虽然IE继续保留了document.all,但这最终没有成为DOM标准的一部分希望document.layers和document.all能够早日作古,让标准早日深入人心!

抱歉!评论已关闭.