js操作DOM的class--防jquery

function removeClass(name){
        var $ele = this.ele;
        if(!$ele){
            console.log('>> 找不到该元素: id = ',ele);
            return !1;
        }
        var rex = new RegExp('\\s'+name+'|'+name+'\\s');
        $ele.className = $ele.className.replace(rex,'');
        return this;
    }
    function addClass(name){
        var $ele = this.ele;
        if(!$ele){
            console.log('>> 找不到该元素: id = ',ele);
            return !1;
        }
        if(this.hasClass(name)){
            return !1;
        }else{
            $ele.className = $ele.className + ' ' + name;
        }
        return this;
    }
    function hasClass(name){
        var $ele = this.ele;
        if(!$ele){
            console.log('>> 找不到该元素: id = ',ele);
            return !1;
        }
        var rex = new RegExp('\\s'+name+'|'+name+'\\s');
        return $ele.className.search(rex) > -1;
    }
    function getId(id){
        return getEle(document.getElementById(id));
    }
    function getEle(ele){
        return {
            ele: ele,
            removeClass: removeClass,
            addClass: addClass,
            hasClass: hasClass
        }
        return eleObj;
    }

写这个的目的有两个。
1、有时候不想引入jquery,但是确实有必要对DOM进行class操作。
2、装逼。。。

相关推荐