document.all用法

一.

document.all是页面内所有元素的一个集合。例如:

document.aa(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>
   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>
   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>
   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>
   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>

来源:http://www.cnblogs.com/uedt/articles/1691443.html

原文地址:https://www.cnblogs.com/dreamflower/p/5480928.html