getByClass兼容className

由于document.getElementsByClassName('class名');在IE8及以下版本不兼容所以需要封裝一個函數(shù)getByClasss();
字符串切割

function getByClass(oParent,sClass){
  if(document.getElementsByClassName){ 
     return oParent.getElementsByClassName(sClass);
  }else{    
   //獲取頁面中所有元素    
    var aEle=oParent.getElementsByTagName('*'); 
    var arr=[]; //找個容器存className    
    for(var i=0;i<aEle.length;i++){ 
       //把每個元素的className用空格切開
        var tmp=aEle[i].className.split(' '); 
       //從數(shù)組里找想要的className 
       if(findInArr(tmp,sClass)){ 
           arr.push(aEle[i]);
        } 
     } 
   return arr;
  }
}

在數(shù)組中找相同的className

function findInArr(arr,n){
    for (var i=0;i<arr.length;i++) {
       if(arr[i]==n)return true;
    }
    return false;
};

正則實現(xiàn),不需要findInArr函數(shù)

function getByClass(oParent,sClass){ 
     if(document.getElementsByClassName){ 
        return oParent.getElementsByClassName(sClass);
      }else{
//ie 6 7 8 
        var arr=[];
         var aEle=oParent.getElementsByTagName('*');
         for(var i=0;i<aEle.length;i++){
//          var arr2=aEle[i].className.split(/\s+/);
//          if(findArr(arr2,sClass)){
//             arr.push(aEle[i]);
//          }            
          var reg=new RegExp('\\b'+sClass+'\\b');  
          if(reg.test(aEle[i].className)){ 
              arr.push(aEle[i]);
            } 
        }
         return arr; 
     }
  };
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,679評論 0 4
  • 9.19--9.23 第7章 正則表達式 正則表達式是一個拆分字符串并查詢相關信息的過程。 推薦練習網(wǎng)站: js ...
    如201608閱讀 1,133評論 0 4
  • 1 智商是隨著我們知識不斷增加,心智不斷提升有著無限上升空間的行動改變,智商映射的其實就是一種解決問題的能力。 智...
    薇莉不罔不怠閱讀 334評論 0 0
  • 一命二運三風水 大多數(shù)沒有背景的普通人在這個社會是很吃虧的。我們更多的時候會覺彷徨、黑暗、迷茫,苦于沒有目標方向和...
    怪鴨帆閱讀 941評論 0 9

友情鏈接更多精彩內(nèi)容