关于页面脚本元素的测试
<div id='abc'>ID=abc</div><div name='abc'>name=abc</div>
<script language='javascript'>
//var aaa=document.all.abc;
//var aaa=document.getElementById('abc');
var aaa=document.getElementsByName('abc');
if(aaa)
window.alert('网页上'+aaa.length+'个元素,如果为undefined,则为一个元素!');
else window.alert("一个元素也没有!");
</script>
我在IE6.0下测试的结果为:元素只有一个
第二个DIV也就是name=abc的DIV元素,用document.getElementsByName('abc')方法返回不了。也就是说:getElementsByName方法对div(span)的name属性无效。对于这种情况,可以用另一个方法来返回其元素(it's getElementsByTagName())
1、getElementsByName 与getElementsByTagName 相比,相同的是都返回元素对象数组
1)、getElementsByName()只是document的方法,对部分元素(div,span)的name属性无效。相关方法:document.all.元素ID
2)、getElementsByTagName() 是所有页面元素的方法,对tag有效,tag不分大小写。相关方法:document.all.tags()
2、getElementById 只是document的方法,而且只对ID有效,对name属性无效,只返回一个元素,而不是元素数组。
3、form,image,applet,可以作为document的属性直接返回,其它元素须由document.all返回
4、input是form的子元素,所以由formID.inputID来返回,IE下一个例外:document.formID.inputID 这样会报错,而要这样:document.all.formID.inputID。