JS的document.all函数使用示例

时间:2023-03-09 13:11:03
JS的document.all函数使用示例

  JS的document.all函数虽然被document.getElement......代替,但是在使用中还是较为常见,下面为大家详细介绍下具体的使用示例:

  一:
  document.all是页面内所有元素的一个集合。例如: 
  document.all(0)表示页面内第一个元素 
  二:
  document.all可以判断浏览器是否是IE

                   if(document.all){
    alert("is IE!");
  }

  三:
  也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素

  四:案例

    代码1:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input name="aaa" value="111">
<input id="bbb" value="222">
<script>
console.log(document.all.aaa.value) //根据name取value
console.log(document.all.bbb.value) //根据id取 value
</script>
</body>
</html>

    代码2:

    但是常常name可以相同(如:用checkbox取用户的多项爱好的情况) ;

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input name="aaa" value="111">
<input name="aaa" value="222">
<input id="bbb" value="bbb">
<script>
console.log(document.all.aaa[0].value) //最终显示a1
console.log(document.all.aaa[1].value) //最终显示a2
console.log(document.all.bbb[0].value) //最终会报错
</script>
</body>
</html>

    代码3:

    理论上一个页面中的id是互不相同的,如果出现不同tags有相同的id,document.all.id 就会失败,就象这样:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input id="aaa" value="111">
<input id="aaa" value="222">
<script>
console.log(document.all.aaa.value)
</script>
</body>
</html>

    代码4:

  对于一个复杂的页面(代码很长,或者id是由程序自动产生),或着一个javascript初学者写的程序,很有可能出现两个tags有相同id的情况。为了编程的时候不出错,我推荐这样的写法:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input id="aaa" value="aaa1">
<input id="aaa" value="aaa2">
<input name="bbb" value="bbb1">
<input name="bbb" value="bbb2">
<input id="ccc" value="ccc1">
<input name="ddd" value="ddd1">
<script>
console.log(document.all("aaa",0).value);
console.log(document.all("aaa",1).value);
console.log(document.all("bbb",0).value);
console.log(document.all("bbb",1).value);
console.log(document.all("ccc",0).value);
console.log(document.all("ddd",0).value);
</script>
</body>
</html>

?