页面有多个名字相同的li元素,想通过document.getElementsByName()获取元素数组。在firefox正常,但在ie下就无法工作,返回的length为0。
原来IE的getElementsByName只对表单元素有用(或部分元素有用)。通过getElementsByTagName找出所有元素,在通过元素的getAttribute方法筛选。
function getElementsByName(tag,eltname){
var elts=document.getElementsByTagName(tag);
var count=0;
var elements=[];
for(var i=0;i<elts.length;i++){
if(elts[i].getAttribute("name")==eltname){
elements[count++]=elts[i];
}
}
return elements;
}