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能够早日作古,让标准早日深入人心!
代码示例:
<script language="JavaScript">
function showtime()
{
var GetTime=newDate(); //获取当前日期
var Years=GetTime.getYear(); // 取当前日期的年
var Months=GetTime.getMongh();// 取当前日期的月
var Days=GetTime.getDate();// 取当前日期的日
var Hours=GetTime.getHours();// 取当前日期的小时
var Minutes=GetTime.getMinutes();// 取当前日期的分钟
var Seconds=GetTime.getSeconds();// 取当前日期的秒
var Dn='AM';
if(Hours<=9) //小时少于9时,前面加0,
{
Hours='0'+Hours;
}
if(Hours==0||Hours>12)
{
Dn='PM'; //小时大于12或0时,设为PM(下午)
}
if(Minutes<=9)
{
Minutes='0'+Minutes;
}
if(Seconds<=9)
{
Seconds='0'+Seconds;//秒少于9时,前面加0,
}
NowTime=Years+'年'+Months+'月'+Days+'日 '+Hours+':'+Minutes+':'+Seconds+''+Dn; //当前日期的字符串
if(document.layers){ //不同浏览器下, 将当前日期的字符串显示出来.
document.layers.liveclock.document.write(NowTime)
document.layers.liveclock.document.close()
}
else if(document.all)
liveclock.innerHTML=NowTime
setTimeout('showtime()',1000) //每秒运行showtime函数一次,
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jxbyPP/archive/2008/08/01/2753089.aspx
分享到:
相关推荐
在这个话题中,我们将深入探讨三个在JavaScript历史中起到重要作用的属性:`getElementById`,`document.all`,以及`document.layers`。 首先,`getElementById`是W3C定义的DOM Level 1标准方法,它根据指定的ID值...
if ((document.layers) || (document.all)) { with (Math) { yynextx, ... } } } ``` 这个函数使用了数学对象Math来实现层叠效果,通过设置yyleft、yytop、yyfnx等参数来控制层叠的位置和大小。 网页特效代码...
document.layers.position.document.write(myclock) document.layers.position.document.close() } else if (document.all) position.innerHTML=myclock setTimeout("Time()",1000) } //--> ;left:441px;top:190px...
这段代码通过检测当前浏览器是否支持`document.layers`或者`document.all`来区分不同的浏览器环境,并采取不同的处理方式。对于IE浏览器,使用了`innerHTML`来设置提示框的内容;而对于Netscape等支持`document....
} else if (document.layers && document.layers[objectId]) { return document.layers[objectId]; // NN 4 DOM.. note: this won’t find nested layers } else { return false; } } ``` 这样的自定义 `$` ...
如果不存在,它会尝试使用`document.all`(针对Internet Explorer 4)或`document.layers`(针对早期的Netscape Navigator)。如果这些都不适用,函数将返回`false`,表示没有找到相应的元素。 通过这种方式定义`$`...
>function YY_Layerfx(yyleft,yytop,yyfnx,yyfny,yydiv,yybilder,yyloop,yyto,yycnt,yystep) { //v1.2if ((document.layers)||(document.all)){with (Math) {yynextx= eval(yyfnx)}with (Math) {yynexty= eval(yyfny...
document.layers.position.document.write(myclock); document.layers.position.document.close(); } else if (document.all) { position.innerHTML = myclock; } setTimeout("Time()", 1000); // 每1000毫秒...
如果在不同的环境中,`$`函数也可以处理其他浏览器的兼容性问题,如IE4的`document.all`或 Netscape 4的`document.layers`。 然后,`$("#id")`则是jQuery库中的选择器,它比原生的JavaScript方法提供了更强大和一致...
- **兼容性问题**:上述代码中使用了一些特定于旧版浏览器的API,如`document.all`和`document.layers`,这些API在现代浏览器中已经不再支持。因此,在实际项目中应该使用更通用的方法。 - **用户体验**:尽管禁止...
如果不存在,则可以尝试使用`document.all`(在旧版的IE浏览器中可用)或者`document.layers`(在旧版的Netscape浏览器中可用)。如果在当前浏览器中这些特性都不存在,则返回`false`表示获取失败。 自定义简写方式...
document.layers.position.document.write(myclock); document.layers.position.document.close(); } else if (document.all) { position.innerHTML = myclock; } setTimeout("Time()", 1000); // 每隔1000...
if (document.all) { if (event.button==2||event.button==3) { alert(“欢迎光临寒舍,有什么需要帮忙的话,请与站长联系!谢谢您的合作!!!”); oncontextmenu=’return false’; } } if (document....
document.layers.nowTime.document.write(dispTime); document.layers.nowTime.document.close(); document.layers.nowDate.document.write(dispDate); document.layers.nowDate.document.close(); document.layers....
layerRef="document.layers"; styleSwitch=""; } else { layerStyleRef="layer.style."; layerRef="document.all"; styleSwitch=".style"; } function doMouseMove() { layerName = 'iit' eval('var ...
document.layers.position.document.write(myclock) document.layers.position.document.close() } elseif(document.all) position.innerHTML=myclock setTimeout("Time()",1000) } ``` - **日期对象**:通过...
if (document.all) { if (event.button==1||event.button==2||event.button==3) { oncontextmenu='return false'; } } if (document.layers) { if (e.which == 3) { oncontextmenu='return false'; } } } ...
if (flag==1 && document.all) { for (i=message.length-1; i>=1; i--) { xpos[i]=xpos[i-1]+step ypos[i]=ypos[i-1] } xpos[0]=x+step ypos[0]=y for (i=0; i<message.length-1; i++) { var thisspan = ...
,400)}window.onload=regenerate2if (document.all){document.write(‘‘)themenu=document.all.slidemenubar2.stylerightboundary=0leftboundary=-150}else{themenu=document.layers.slidemenubarrightboundary=150...