欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中document.getElementByid、document.all和document.layers區(qū)分介紹

 更新時間:2011年12月08日 22:12:03   作者:  
document.getElementById 是公共標準,被目前的所有主流瀏覽器支持,document.all只有IE支持,document.layers是Netscape 4.x專有的屬性
document.all是IE 4.0及以上版本的專有屬性,是一個表示當前文檔的所有對象的婁組,不僅包括頁面上可見的實體對象,還包括一些不可見的對象,比如html注釋等等。在document.all數(shù)組里面,元素不分層次,是按照其在文檔中出現(xiàn)的先后順序,平行地羅列的。所以可以用數(shù)字索引來引用到任何一個元素。但比較常用的是用對象id來引用一個特定的對象,比如document.all["element"]這樣。
document.layers是Netscape 4.x專有的屬性,是一個代表所有由儲如<div><layer>等定位了的元素的數(shù)組。通常也是用<div>或<layer>對象的id屬性來引用的,但是這里面不包含除此以外的其它元素。
其實這兩個屬性沒什么可比性,大概你經(jīng)??吹剿麄兺瑫r出時,這有一個歷史原因。在第四代瀏覽器出現(xiàn)的時候,標準相當混亂,Netscape和微軟分別推出了它們的Navigator 4.x和IE 4.0,這兩個瀏覽器的巨大差異,也使開發(fā)者面臨了一個使網(wǎng)頁跨瀏覽器兼容的噩夢。而document.layer和document.all分別是兩者一個最顯著的標志,為了確定瀏覽者使用的什么瀏覽器,通常用是否存在document.layers和document.all來判斷。
新的統(tǒng)一的標準用document.getElementById等系列方法來引用DOM對象,而且Netscape 6.0以后放棄了layers特征,雖然IE繼續(xù)保留了document.all,但這最終沒有成為DOM標準的一部分。希望document.layers和document.all能夠早日作古,讓標準早日深入人心!
代碼示例:
復(fù)制代碼 代碼如下:

<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時,設(shè)為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函數(shù)一次,
}

document.all是IE下面的document屬下的所有元素的集合
可以通過document.all.length來看到document下面的元素數(shù)量
document.all(index)后面的index參數(shù)是一個集合方法
如果index是string那么可以獲得document下面具有id或name為index的元素 如果只有一個的元素話返回這個元素 如果有多個元素id或name是index的話就返回一個集合 如果沒有的話就返回null
這樣并不好 因為當你不知道有多少個id或name是index的元素時 就比較容易出錯.
如果index是數(shù)字的話 那么會返回以0為基礎(chǔ)的 文檔中第index個元素. 元素的文檔序列可以通過Element.sourceIndex來獲取
document.getElementById(name) 只返回第一個具有id或name為name的元素 所以不是null就是一個元素 而不會返回集合 這樣就大大減少了錯誤發(fā)生的可能性
如果需要返回一個id或name為name的元素集合的話 就要用 document.getElementsByName(name)來獲取
document.getElementById
返回 ID 屬性值與指定值相同的第一個對象,如果 ID 屬于一個集合,getElementById 方法返回集合中的第一個對象。
document.all
如果 ID 屬于一個集合,document.all返回一個集合。而且只支持IE。
所以在使用IE的前提下,document.all(index)要生效需要保證index是唯一的
所以如果你想讓你寫的js腳本在目前的大多瀏覽器中使用,需要使用[公共標準] 標準的Javascript

相關(guān)文章

最新評論