蓝色幻想728

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  • hasClass, addClass, removeClass, toggleClass
//addClass,加入class会对元素,利用正则,将class中多余的空格去掉
zQuery.prototype.addClass=function(sClass){
    var re=new RegExp('\\b'+sClass+'\\b');
    for(var i=0;i<this.elements.length;i++){
        if(!re.test(this.elements[i].className)){
            this.elements[i].className=this.elements[i].className+' '+sClass;
        }
        this.elements[i].className=this.elements[i].className.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
    }
};

//removeClass,同样会整理class中的多余空格
zQuery.prototype.removeClass=function(sClass){
    var re=new RegExp('\\b'+sClass+'\\b');
    for(var i=0;i<this.elements.length;i++) {
        if(re.test(this.elements[i].className)){
            this.elements[i].className=this.elements[i].className.replace(re,'');
            if(!this.elements[i].className){
                this.elements[i].removeAttribute('class');
            }
        }

        if(this.elements[i].className){
            this.elements[i].className=this.elements[i].className.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
        }
    }
};

//hasClass
zQuery.prototype.hasClass=function(sClass){
    var re=new RegExp('\\b'+sClass+'\\b');
    for(var i=0;i<this.elements.length;i++){
        return re.test(this.elements[i].className);
    }
};

//toggleClass
zQuery.prototype.toggleClass=function(sClass){
    for(var i=0;i<this.elements.length;i++){
        if($(this.elements[i]).hasClass(sClass)){
            $(this.elements[i]).removeClass(sClass);
        }else{
            $(this.elements[i]).addClass(sClass);
        }
    }
};
posted on 2016-08-20 23:41  蓝色幻想728  阅读(108)  评论(0编辑  收藏  举报