封装getByClass

通过class获取元素,兼容IE678并进行了优化

function getByClass(oParent,sClass){
        if(oParent.getElementsByClassName){//判断是否支持getElementsByClassName()
            return oParent.getElementsByClassName(sClass);
        }else{
            function findByClass(className,sClass){//如果存在多个类名,是否有sClass
                var aStr=className.split(' ');//将所有类名以空格隔开存到数组中
                for(var i=0;i<aStr.length;i++){
                    if(aStr[i]===sClass){
                        return true;
                    }
                }
                return false;
            }
            var ele=oParent.getElementsByTagName('*');
            var arr=[];//将含有sClass元素存到数组中一并返回
            for(var i=0;i<ele.length;i++){
                if(findByClass(ele[i].className,sClass)){
                    arr.push(ele[i]);
                }
            }
            return arr;
        }
        
    }

原文地址:https://www.cnblogs.com/qyuan/p/9511840.html