一.
 document.all是页面内所有元素的一个集合。例如:      
 document.all(0)表示页面内第一个元素
二.
document.all可以判断浏览器是否是IE  
  if(document.all){  
    alert("is   IE!");  
  }
三.
也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素
四.
案例:

代码1:    
  <input   name=aaa   value=aaa>  
  <input   id=bbb   value=bbb>   
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //根据name取value  
      alert(document.all.bbb.value)     //根据id取   value  
  </script>    
代码2:  
      但是常常name可以相同(如:用checkbox取用户的多项爱好的情况)   
  <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)     //这行代码会失败  
  </script>    
代码3:  
      理论上一个页面中的id是互不相同的,如果出现不同tags有相同的id  
  document.all.id   就会失败,就象这样:  
  <input   id=aaa   value=a1>  
  <input   id=aaa   value=a2>  
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //显示   undefined   而不是   a1或者a2  
  </script>   
代码4:  
 对于一个复杂的页面(代码很长,或者id是由程序自动产生),或着一个  
  javascript初学者写的程序,很有可能出现两个tags有相同id的情况。  
 为了编程的时候不出错,我推荐这样的写法:  
   
  <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>  
 

document.layers与document.all 作用

if(document.all)检测是否是IE   
if(document.layers)检测是否是netscape4.X
ns6+不支持   

if(document.layers)了,也就是不用它检测了

示例源码:(显示时间)

<HTML>
<HEAD>
<TITLE>时间日期篇--在背景上加时钟</TITLE>
</HEAD>

<BODY bgcolor="#fef4d2" onLoad=bgclock() background="../images/background3.jpg">
<br>
<br>
<center>
<font color="ffaafa">
<h2><font color="#FF0000"><b>时间日期篇--在背景上加时钟</b></font></h2>
</font>
<hr width=300>
<br><br>

<!-- 案例代码1开始 -->

<script language=javaScript>
function bgclock() {
thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
thistime = hours+":"+minutes+":"+seconds

if(document.all) //IE浏览器
{
bgclocknoshade.innerHTML=thistime
bgclockshade.innerHTML=thistime
}

if(document.layers) //netscape4.X  

{
document.bgclockshade.document.write('<div id="bgclockshade" style="position:absolute;visibility:visible;font-family:Verdana;color:FFAAAAA;font-

size:120px;top:10px;left:150px">'+thistime+'</div>')
document.bgclocknoshade.document.write('<div id="bgclocknoshade" style="position:absolute;visibility:visible;font-family:Verdana;color:DDDDDD;font-

size:120px;top:10px;left:150px">'+thistime+'</div>')
document.close()
}
var timer=setTimeout("bgclock()",1000)
}

</script>

<!-- 案例代码1结束 -->


<!-- 案例代码2开始 -->

<!-- [Step1]: 这里可以改变时钟的字体 -->
<!-- [Step2]: 这里可以改变时钟的颜色 -->
<!-- [Step3]: 这里可以改变时钟的位置和大小 -->
<div id="bgclockshade" style="position:absolute;visibility:visible;font-family:Arial;color:0000CC;font-size:70px;top:102px;left:152px"></div>

<!-- [Step1]: 这里可以改变时钟的字体 -->
<!-- [Step2]: 这里可以改变时钟的颜色 -->
<!-- [Step3]: 这里可以改变时钟的位置和大小 -->
<div id="bgclocknoshade" style="position:absolute;visibility:visible;font-family:Arial;color:DDDDDD;font-size:70px;top:100px;left:150px"></div>

<div id="mainbody" style="position:absolute; visibility:visible">
</div>

<!-- 案例代码2结束 -->

</center></BODY>

</HTML>

 
 1、document.all 是微软的东西,只被IE支持

2、document.getElementById 是公共标准,被目前的所有主流浏览器支持

3、document.getElementById IE5.0以下的不支持!

4、document.all IE4.0以上的支持!

5、document.all是一个对象数组的引用 (适合IE)

6、document.getElementById得到的是一个对象的引用 (更好地兼容IE、FireFox等其它浏览器)

如果取一个数组可以用getElementsByName or getElementsByTagName

 

 

posted on 2013-11-08 17:21  javascript程序员  阅读(386)  评论(0编辑  收藏  举报