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>

?

JS的document.all函数使用示例的更多相关文章

  1. JS的document.links函数使用示例

    ? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g ...

  2. JS的document.images函数使用示例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JS的document.anchors函数使用示例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. js原生:封装document.getElementByClassName()函数

    //接口封装:封装document.getElementByClassName()函数function getElementsByClassName (cName,domTag,root) {//该函 ...

  5. ASP.NET前台JS与后台CS函数如何互相调用

    摘要: 在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况.今天就把比较实用的前后台相互调用的方法总结出来和大家分享. 在实际的Web开发中,我们可能会常常遇到 ...

  6. 【Mocha.js 101】钩子函数

    前情提要 在上一篇文章<[Mocha.js 101]同步.异步与 Promise>中,我们学会了如何对同步方法.异步回调方法以及 Promise 进行测试. 在本篇文章中,我们将了解到 M ...

  7. 多个$(document).ready()函数的执行顺序问题,(未解决)

    今天遇到了一个问题: jQuery获取不了动态添加的元素,我使用的是append添加的.寻求了帮助,得到解决方案: 在文件开头写上这样一段代码来获取,写在$(document).ready()里面. ...

  8. js两种定义函数、继承方式及区别

    一:js两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function ...

  9. WebView中Js与Android本地函数的相互调用

    介绍 随着Html5的普及,html在表现力上不一定比原生应用差,并且有很强的扩展兼容性,所以越来越多的应用是采用Html与Android原生混合开发模式实现. 既然要实现混合开发,那么Js与Andr ...

随机推荐

  1. 线程 ID

    摘自<Linux 环境编程:从应用到内核> 在 Linux 中,目前的线程实现是 Native POSIX Thread Library,简称 NPTL.在这种实现下,线程又被称为轻量级进 ...

  2. uva 11992

    题意: 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y2 val 表示将(x1,y1,x2,y2)(x1<=x ...

  3. mysql数据库授权

    mysql数据库授权所有人 grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; ...

  4. Codeforces 887D Ratings and Reality Shows

    Ratings and Reality Shows 参加talk show的时间肯定是在某个t[ i ]的后一秒, 枚举一下就好了. #include<bits/stdc++.h> #de ...

  5. window.open 和showModalDialog的返回值

    方法: 1:  在父级页面 test.aspx 的点击<input type="button" id="btnShow" onclick="sh ...

  6. ul无点标签左移

    ul标签去除掉点,ul li 块仍会在原来的位置,即与上一块内容相对右移一点. 这是 ul标签的默认padding值导致的. 修改style或者CSS中的class为如下即可 { list-style ...

  7. checkbox、radio设置自定义样式

    老生常谈,做一个简单的记录.浏览器自带的checkbox和radio样式可能不符合项目要求,通常要做一些自定义样式设置,目前基本的解决思路都是将input[type=checkbox/radio]隐藏 ...

  8. C#多线程和线程池问题

    static void Main(string[] args) { Thread threadA = new Thread(ThreadMethod); //执行的必须是无返回值的方法 threadA ...

  9. 洛谷P1809 过河问题_NOI导刊2011提高(01)

    To 洛谷.1809 过河问题 题目描述 有一个大晴天,Oliver与同学们一共N人出游,他们走到一条河的东岸边,想要过河到西岸.而东岸边有一条小船. 船太小了,一次只能乘坐两人.每个人都有一个渡河时 ...

  10. STM32——C语言知识点:指针、结构体

    /* ============================================================================ Name : Cyuyanfuxi.c ...