js 获得类名 getClassName

使用js获取类名,但是低版本浏览器不支持getElementsByClassName,所以我们就需要自定义getClassName,方便跨浏览器使用。

当然,如果采用jquery就不需要。

//获取类名
//兼容一个标签中存在多个类名
function getClassName(className,id){
    //如果浏览器支持getElementsByClassName
    if(document.getElementsByClassName){
        //判断是否有id
        if(id){
            return document.getElementById(id).getElementsByClassName(className);
        }else{
            return document.getElementsByClassName(className);
        }
    }
    if(id){    //如果浏览器不支持getElementsByClassName
        var demo = document.getElementById(id).getElementsByTagName("*");
        var arr= [];

        for(var i=0;i<demo.length;i++){
            var text = demo[i].className.split(" ");
            for(var j=0;j<text.length;j++){
                if(text[j] == className){
                    arr.push(demo[i]);
                }
            }
        }
        return arr;
    }else{
        var demo = document.getElementsByTagName("*");
        var arr= [];

        for(var i=0;i<demo.length;i++){
            var text = demo[i].className.split(" ");
            for(var j=0;j<text.length;j++){
                if(text[j] == className){
                    arr.push(demo[i]);
                }
            }
        }
        return arr;
    }
}

猜你喜欢

转载自www.cnblogs.com/alex-xxc/p/9747318.html
今日推荐