相容低版本IE的document.getElementsByClassName()

admin發表於2017-04-14

關於document.getElementsByClassName()的基本用法可以參閱getElementsByClassName()一章節。

但是存在一定的相容問題,IE8和IE8以下瀏覽器不支援此方法,下面分享一個能夠實現相容的程式碼。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
if (!document.getElementsByClassName) {
  document.getElementsByClassName = function (className, element){
    var children = (element || document).getElementsByTagName('*');
    var elements = new Array();
    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) {
          elements.push(child);
          break;
        }
      }
    }
    return elements;
  };
}

相關文章