getElementByClassName()不兼容的解决办法

Posted catherinehd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getElementByClassName()不兼容的解决办法相关的知识,希望对你有一定的参考价值。

在获取元素时候采用getElementByClassName()方法是比较方便的,但是对于IE6不兼容,可以采用以下代码来自定义这个方法:

window.onload=function(){

 if(!document.getElementByClassName){

 document.getElementByClassName=function(cls){

   var ret=[];

   var els=document.getElementByTagName(‘*‘);

   for(var i=0,len=els.length;i<len;i++){

    if(els[i].className===cls

    ∣∣els[i].className.indexOf(cls+‘ ‘)>=0

    ∣∣els[i].className.indexOf(‘ ‘+cls+‘ ‘)>=0

    ∣∣els[i].className.indexOf(‘ ‘+cls)>=0){

     ret.push(els[i]);

           }

      }

return ret;

   }

 

}

var cart = document.getElementByClassName(‘cart‘);//可以使用了。

}

以上是关于getElementByClassName()不兼容的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

监听浏览器使用不同版本js并且处理ie兼容getElementByClassName

js实现获取父元素下的子元素,如下的代码,我想通过getElementByClassName获取到标签table,

js之css相关操作

js-DOM-css的className相关

getElementsByClassName() - 不是一个函数[关闭]

js--封装类名的dom操作