1. 程式人生 > >解決IE8不相容通過class名獲取元素的方法

解決IE8不相容通過class名獲取元素的方法

  function getClassNames(classStr,tagName){
    if (document.getElementsByClassName) {
      return document.getElementsByClassName(classStr)
    }else {
      var nodes = document.getElementsByTagName(tagName),ret = [];
      for(i = 0; i < nodes.length; i++) {
        if(hasClass(nodes[i],classStr)){
          ret.push(nodes[i])
        }
      }
      return ret;
    }
  }
  function hasClass(tagStr,classStr){
    var arr=tagStr.className.split(/\s+/ ); //這個正則表示式是因為class可以有多個,判斷是否包含
    for (var i=0;i<arr.length;i++){
      if (arr[i]==classStr){
        return true ;
      }
    }
    return false ;
  }