原生js 用正则实现removeclass hasclass getsclass addclass .

 function getByClass(oParent,sClass){
if(oParent.getElementsByClassName){
return oParent.getElementsByClassName(sClass);
}else{
var arr=[];
var aEle=oParent.getElementsByTagName('*');
var re=new RegExp('\\b'+sClass+'\\b'); for(var i=;i<aEle.length;i++){
if(re.test(aEle[i].className)){
arr.push(aEle[i]);
}
}
return arr;
}
} function hasClass(obj,sClass){
var re=new RegExp('\\b'+sClass+'\\b');
return re.test(obj.className);
} function addClass(obj,sClass){
// <div class='ac now active'></div>
//本身没有class
if(obj.className){
//判断添加的class有没有啊
if(!hasClass(obj,sClass)){
obj.className+=' '+sClass;
}
}else{
obj.className=sClass;
}
} function removeClass(obj,sClass){
var re=new RegExp('\\b'+sClass+'\\b');
if(hasClass(obj,sClass)){
obj.className=obj.className.replace(re,'').replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
}
}
上一篇:原生js addclass,hasClass,removeClass,toggleClass的兼容


下一篇:Java基础系列--final、finally关键字