getElementsByClassName兼容性处理

getElementsByClassName为HTML5新增的方法,这个方法的返回值是一个具有相同类名的元素的数组。这个方法非常有用,解决了以往通过获取标签getElementsByTagName的方法来获取类。但不足的是只有较新的浏览器才会支持它,IE8及以下不兼容。为了弥补不足,对其做一下兼容性处理。

if(!document.getElementsByClassName){
    document.getElementsByClassName =  function(className,elem){
       var children = (elem||document).getElementsByTagName("*");
       var elems = [];
       for(var i=0; i<children.length; i++){
          var child = children[i];
          var classNames = child.className.split(" ");
          for(var j=0; j<classNames.length; j++){
              if(classNames[j] == className){
                     elems.push(child);
                     break;
              }
          }
       }
    return elems;
   }
}

猜你喜欢

转载自blog.csdn.net/weixin_40485972/article/details/78488322