以前没注意 document. getElementById(‘name’),既可以获得id属性的标签,又可以获得name属性的标签。但是他有一个局限性例如下面的例子:
<html> <head> <script src="prototype.js"></script> </head> <body> <input type="text" id='a' name='a1' value="1" /> <input type="text" id='a' name='a2' value="2" /> <script> function test$() { var byname=document.getElementById('a1'); alert("get by name:"+byname.value); var byId=document.getElementById('a'); alert("get by id: "+byId.value); var as=document.all("a") alert("get by all:"+as[0].value+" "+as[1].value); } test$(); </script> </body> </html>
由上面例子我们可以看到如果有两个ID相同的对象,document. getElementById只能返回第一对象,document.all方法可以返回一个数组,虽然all方法不是标准的document的方法,只有在IE中能用,但是这个方法还是非常好用(我个人非常爱用这个方法,我开发的应用大部分在ie中运行)。从这一小点可以看出微软在用户体验(包括编程人员)远远超出了那些学院派。(个人见解,不要丢砖头欧)。
$()方法里面用的是document. getElementById
$()方法还有一个用法,就是传入一个以上的ID号,返回这些Id对象的数组。至今我没看出这个用法有什么好处。