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

 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 }

 

转载于:https://www.cnblogs.com/lixuekui/p/5785633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值