JS中document.all的使用与注意事项
本文介绍JavaScript中document.all对象的用法,包括获取页面元素、判断IE浏览器以及处理同名或重复ID元素的技巧。通过示例代码展示如何正确使用document.all访问元素值,并指出在复杂页面中可能出现的重复ID问题及解决方案。
document.all基本概念与IE判断
一.
document.all 是页面内所有元素的一个集合。例如:
document.all(0) 表示页面内第一个元素
二.
document.all 可以判断浏览器是否是 IE
if(document.all){
alert("is IE!");
}
三.
也可以通过给某个元素设置 id 属性(id=aaaa),然后用 document.all.aaaa 调用该元素
四.
document.all获取元素值示例
案例:
代码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> 处理重复ID与同名元素的技巧
代码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>D3.js 处理大规模数据点的性能优化策略
2026-11-05 15:37:25
JS实现网页摄像头实时扫码:结合getUserMedia与jsQR教程
2026-11-05 15:27:28
D3.js v5 迁移到 v7 的 API 变更与注意事项
2026-11-05 11:57:17
使用 animate.js 实现多元素协同的序列动画
2026-11-04 22:27:53
JS拖拽排序时怎么添加平滑动画效果?FLIP技术实战
2026-11-04 10:12:22
