IE支持getElementsByClassName方法

在IE9一下的浏览器,不支持getElementsByClassName 这个方法,但是工作中用的平台是要兼容IE8和IE6,就必须自己去实现这个方法(谷歌,火狐等浏览器都已经支持getElementsByClassName这个方法了,伤心啊...),到网上找了一下,用法如下,还挺好用的。

以下是工程中的部分代码例如:

js代码如下:

$("divAttrNetObj").innerHTML = otherTree;
  var divs = getElementsByClassName("webfx-tree-item", {parentObj :$('divAttrNetObj') } );
     for(var m = 0; m < divs.length; m++)
     {
      divs[m].ondblclick = findChildGroup;
     }

//IE8下不支持getElementsByClassName,新建一个这个方法
function getElementsByClassName(className,term){
    var parentEle=null;
    if(term.parentObj){ parentEle = typeof term.parentObj=='string' ? document.getElementById(term.parentObj) : term.parentObj;}
    var rt = [],coll= (parentEle==null?document:parentEle).getElementsByTagName(term.tagName||'*');
    for(var i=0;i<coll.length;i++){
        if(coll[i].className.match(new RegExp('())){
            rt[rt.length]=coll[i];
        }
    }
    return rt;
}

这样就可以用getElementsByClassName这个方法咯,

就像前面所写的var divs = getElementsByClassName("webfx-tree-item", {parentObj :$('divAttrNetObj') } );

     

原文地址:https://www.cnblogs.com/liwei45212/p/3028542.html