document.all的一個(gè)比較完整的總結(jié)及案例
2024-05-06 14:19:45
供稿:網(wǎng)友
一.
document.all是頁(yè)面內(nèi)所有元素的一個(gè)集合。例如:
document.all(0)表示頁(yè)面內(nèi)第一個(gè)元素
二.
代碼如下:
document.all可以判斷瀏覽器是否是IE
if(document.all){
alert("is IE!");
}
三.
也可以通過(guò)給某個(gè)元素設(shè)置id屬性(id=aaaa),然后用document.all.aaaa調(diào)用該元素
四.
案例:
代碼1:
代碼如下:
<input name=aaa value=aaa>
<input id=bbb value=bbb>
<script language=Jscript>
alert(document.all.aaa.value) //根據(jù)name取value
alert(document.all.bbb.value) //根據(jù)id取 value
</script>
代碼2:
但是常常name可以相同(如:用checkbox取用戶的多項(xiàng)愛好的情況)
代碼如下:
<input name=aaa value=a1>
<input name=aaa value=a2>
<input id=bbb value=bbb>
<script language=Jscript>
alert(document.all.aaa(0).value) //顯示a1
alert(document.all.aaa(1).value) //顯示a2
alert(document.all.bbb(0).value) //這行代碼會(huì)失敗
</script>
代碼3:
理論上一個(gè)頁(yè)面中的id是互不相同的,如果出現(xiàn)不同tags有相同的id
document.all.id 就會(huì)失敗,就象這樣:
代碼如下:
<input id=aaa value=a1>
<input id=aaa value=a2>
<script language=Jscript>
alert(document.all.aaa.value) //顯示 undefined 而不是 a1或者a2
</script>
代碼4:
對(duì)于一個(gè)復(fù)雜的頁(yè)面(代碼很長(zhǎng),或者id是由程序自動(dòng)產(chǎn)生),或著一個(gè)
javascript初學(xué)者寫的程序,很有可能出現(xiàn)兩個(gè)tags有相同id的情況。
為了編程的時(shí)候不出錯(cuò),我推薦這樣的寫法:
代碼如下:
<input id=aaa value=aaa1>
<input id=aaa value=aaa2>
<input name=bbb value=bbb>
<input name=bbb value=bbb2>
<input id=ccc value=ccc>
<input name=ddd value=ddd>
<script language=Jscript>
alert(document.all("aaa",0).value)
alert(document.all("aaa",1).value)
alert(document.all("bbb",0).value)
alert(document.all("bbb",1).value)
alert(document.all("ccc",0).value)
alert(document.all("ddd",0).value)
</script>