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>
?