标签:
1 function getByClass(oParent,sClass){ 2 if(oParent.getElementsByClassName){ 3 return oParent.getElementsByClassName(sClass); 4 }else{ 5 var arr=[]; 6 var aEle=oParent.getElementsByTagName(‘*‘); 7 var re=new RegExp(‘\\b‘+sClass+‘\\b‘); 8 9 for(var i=0;i<aEle.length;i++){ 10 if(re.test(aEle[i].className)){ 11 arr.push(aEle[i]); 12 } 13 } 14 return arr; 15 } 16 } 17 18 19 function hasClass(obj,sClass){ 20 var re=new RegExp(‘\\b‘+sClass+‘\\b‘); 21 return re.test(obj.className); 22 } 23 24 25 function addClass(obj,sClass){ 26 // <div class=‘ac now active‘></div> 27 //本身没有class 28 if(obj.className){ 29 //判断添加的class有没有啊 30 if(!hasClass(obj,sClass)){ 31 obj.className+=‘ ‘+sClass; 32 } 33 }else{ 34 obj.className=sClass; 35 } 36 } 37 38 39 function removeClass(obj,sClass){ 40 var re=new RegExp(‘\\b‘+sClass+‘\\b‘); 41 if(hasClass(obj,sClass)){ 42 obj.className=obj.className.replace(re,‘‘).replace(/^\s+|\s+$/g,‘‘).replace(/\s+/g,‘ ‘); 43 } 44 }
原生js 用正则实现removeclass hasclass getsclass addclass .
标签:
原文地址:http://www.cnblogs.com/lixuekui/p/5785633.html