document.all和document.layers
document.all是IE 4.0及以上版本的專有屬性,是一個表示當(dāng)前文檔的所有對象的婁組,不僅包括頁面上可見的實體對象,還包括一些不可見的對象,比如html注釋等等。在document.all數(shù)組里面,元素不分層次,是按照其在文檔中出現(xiàn)的先后順序,平行地羅列的。所以可以用數(shù)字索引來引用到任何一個元素。但比較常用的是用對象id來引用一個特定的對象,比如document.all["element"]這樣。
?
document.layers是Netscape 4.x專有的屬性,是一個代表所有由儲如<div><layer>等定位了的元素的數(shù)組。通常也是用<div>或<layer>對象的id屬性來引用的,但是這里面不包含除此以外的其它元素。
其實這兩個屬性沒什么可比性,大概你經(jīng)常看到他們同時出時,這有一個歷史原因。在第四代瀏覽器出現(xiàn)的時候,標(biāo)準(zhǔn)相當(dāng)混亂,Netscape和微軟分別推出了它們的Navigator 4.x和IE 4.0,這兩個瀏覽器的巨大差異,也使開發(fā)者面臨了一個使網(wǎng)頁跨瀏覽器兼容的噩夢。而document.layer和document.all分別是兩者一個最顯著的標(biāo)志,為了確定瀏覽者使用的什么瀏覽器,通常用是否存在document.layers和document.all來判斷。
新的統(tǒng)一的標(biāo)準(zhǔn)用document.getElementById等系列方法來引用DOM對象,而且Netscape 6.0以后放棄了layers特征,雖然IE繼續(xù)保留了document.all,但這最終沒有成為DOM標(biāo)準(zhǔn)的一部分。希望document.layers和document.all能夠早日作古,讓標(biāo)準(zhǔn)早日深入人心!
?
代碼示例:
<script language="JavaScript">function showtime()
{
var GetTime=newDate(); //獲取當(dāng)前日期
var Years=GetTime.getYear(); // 取當(dāng)前日期的年
var Months=GetTime.getMongh();// 取當(dāng)前日期的月
var Days=GetTime.getDate();// 取當(dāng)前日期的日
var Hours=GetTime.getHours();// 取當(dāng)前日期的小時
var Minutes=GetTime.getMinutes();// 取當(dāng)前日期的分鐘
var Seconds=GetTime.getSeconds();// 取當(dāng)前日期的秒
var Dn='AM';
if(Hours<=9) //小時少于9時,前面加0,
{
Hours='0'+Hours;
}
if(Hours==0||Hours>12)
{
Dn='PM'; //小時大于12或0時,設(shè)為PM(下午)
}
if(Minutes<=9)
{
Minutes='0'+Minutes;
}
if(Seconds<=9)
{
Seconds='0'+Seconds;//秒少于9時,前面加0,
}
NowTime=Years+'年'+Months+'月'+Days+'日 '+Hours+':'+Minutes+':'+Seconds+''+Dn; //當(dāng)前日期的字符串
if(document.layers){ //不同瀏覽器下, 將當(dāng)前日期的字符串顯示出來.
document.layers.liveclock.document.write(NowTime)
document.layers.liveclock.document.close()
}
else if(document.all)
liveclock.innerHTML=NowTime
setTimeout('showtime()',1000) //每秒運行showtime函數(shù)一次,
}
轉(zhuǎn)載自:http://blog.csdn.net/jxbyPP/article/details/2753089
總結(jié)
以上是生活随笔為你收集整理的document.all和document.layers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到被蝙蝠咬是什么意思
- 下一篇: 梦到自己去看病是什么兆头