ie不支持getElementsByClassName的解决办法

目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管;如果不支持,就在document对象里加入getElementsByClassName这个方法,按兴趣的朋友可以了解下

if (navigator.appName == 'Microsoft Internet Explorer') {  
        document.getElementsByClassName = function() {  
            var tTagName = "*";  
            if (arguments.length > 1) {  
                tTagName = arguments[1];  
            }  
            if (arguments.length > 2) {  
                var pObj = arguments[2]  
            } else {  
                var pObj = document;  
            }  
            var objArr = pObj.getElementsByTagName(tTagName);   
            var tRObj = new Array();  
            for ( var i = 0; i < objArr.length; i++) {  
                if (objArr[i].className == arguments[0]) {  
                    tRObj.push(objArr[i]);  
                }  
            }  
            return tRObj;  
        }  
    } 
function getElementsByClassName(className,tagName) { 
    tagName=tagName||"*";                                    //参数tagName可以不写。
    if (document.getElementsByClassName) {                    //如果浏览器支持getElementsByClassName就直接用
        return getElementsByClassName(className);
    }else { 
        var tag= document.getElementsByTagName(tagName);    //获取指定元素
        var tagAll = [];                                    //用于存储符合条件的元素
        for (var i = 0; i < tag.length; i++) {                //遍历获得的元素
            for(var j=0,n=tag[i].className.split(' ');j<n.length;j++){    //遍历此元素中所有class的值,如果包含指定的类名,就赋值给tagnameAll
                if(n[j]==className){
                    tagAll.push(tag[i]);
                    break;
                }
            }
        }
        return tagAll;
    }
}
原文地址:https://www.cnblogs.com/sugar-tomato/p/4477227.html