document.all的一个比较完整的总结及案例

  一.

  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>