以前没注意 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对象的数组。至今我没看出这个用法有什么好处。
本文探讨了Prototype.js中$方法的使用方式及其与document.getElementById的区别。通过实例对比,揭示了$方法的优势,尤其是在处理多个相同ID元素的情况。
1569

被折叠的 条评论
为什么被折叠?



