getElementsByClassName是通过class来获取DOM,但是IE8及以下不能兼容。这里做了一下兼容性。
HTML:
<div class="pox">我是pox</div>
兼容JS:
function getByClassName(ClassName){ if(document.getElementsByClassName){ return document.getElementsByClassName(ClassName); }else{ var aEle=document.getElementsByTagName('*'); var arr=[]; for(var i=0;i<aEle.length;i++){ if(aEle[i].className==ClassName){ arr.push(aEle[i]) } } return arr; } }
测试:
window.onload=function(){ function getByClassName(ClassName){ if(document.getElementsByClassName){ return document.getElementsByClassName(ClassName); }else{ var aEle=document.getElementsByTagName('*'); var arr=[]; for(var i=0;i<aEle.length;i++){ if(aEle[i].className==ClassName){ arr.push(aEle[i]) } } return arr; } } var Box=getByClassName('pox')[0]; alert(Box.innerHTML); }
结果:
IE7
谷歌
火狐