IE 6 不支持 document.getElementsByClassName ,如下是模拟函数:
function getElementsByClassName(classname){
var d=document;
var e=d.getElementsByTagName('*');
var c=new RegExp('\\b'+classname+'\\b');
var r=[];
for(var i=0,l=e.length;i<l;i++){
var cn=e[i].className;
if(c.test(cn)){
r.push(e[i]);
}
}
return r;
}
if(typeof document.getElementsByClassName !='function'){
document.getElementsByClassName=getElementsByClassName;
}
注意返回的不是 NodeList ,而是一个数组,因此它没有 item() 方法,需要以数组的方式调用。如:
window.οnlοad=function(){
var x=document.getElementsByClassName('warning');
alert(x);
alert('ll:'+x[1].innerHTML);
}
目前 Chrome 14, Opera 11, Firefox 7 已支持 document.getElementByClassName 调用。