亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

<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)前日期的小時(shí)
var Minutes=GetTime.getMinutes();// 取當(dāng)前日期的分鐘
var Seconds=GetTime.getSeconds();// 取當(dāng)前日期的秒
var Dn='AM';
if(Hours<=9) //小時(shí)少于9時(shí),前面加0,
{
Hours='0'+Hours;
}
if(Hours==0||Hours>12)
{
Dn='PM'; //小時(shí)大于12或0時(shí),設(shè)為PM(下午)
}
if(Minutes<=9)
{
Minutes='0'+Minutes;
}
if(Seconds<=9)
{
Seconds='0'+Seconds;//秒少于9時(shí),前面加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) //每秒運(yùn)行showtime函數(shù)一次,
}

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

相關(guān)文章

最新評(píng)論