一
document.all是页面内所有元素的一个集合。例如:document.all(0)表示页面内第一个元素
二
document.all可以判断浏览器是否是IE
<script language="javascript"> if(document.all) { alert("IE"); } </script>
三
也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素
四
代码①
<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>
代码②
错误:
<input name=aaa value=a1> <input name=aaa value=a2> <input id=bbb value=bbb> <script language="javascript"> alert(document.all.aaa(0).value) //显示a1 alert(document.all.aaa(1).value) //显示a2 alert(document.all.bbb(0).value) //这行代码会失败 </script>
正确:
<input name=aaa value=a1> <input name=aaa value=a2> <input id=bbb value=bbb> <script language="javascript"> alert(document.all.aaa(0).value);//显示a1 alert(document.all.aaa(1).value);//显示a2 alert(document.all.bbb.value); </script>
代码③
理论上一个页面中的id是互不相同的,如果出现不同tags有相同的id
document.all.id就会失败,就象这样:
<input id=aaa value=a1> <input id=aaa value=a2> <script language="javascript"> alert(document.all.aaa.value);//显示undefined而不是a1或者a2 </script>
对于一个复杂的页面(代码很长,或者id是由程序自动产生)或着一个
javascript初学者写的程序,很有可能出现两个tags有相同id的情况。
为了编程的时候不出错,我推荐这样的写法:
<input id=aaa value=aaa1> <input name=aaa value=aaa2> <input name=bbb value=bbb1> <input id=bbb value=bbb2> <input id=ccc value=ccc> <input name=ddd value=ddd> <script language="javascript"> 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.value); alert(document.all.ddd.value); </script>