• 原生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 }
  • 相关阅读:
    html+css学习
    mac安装软件系列
    Versions 出现 SVN Working Copy xxx locked
    linux安装gcc-c++
    linux常用命令
    linux挂载磁盘
    对jquery新增加的class绑定事件
    linux下安装php的mcrypt拓展
    Linux关闭selinux
    linux安装包资源库
  • 原文地址:https://www.cnblogs.com/lixuekui/p/5785633.html
Copyright © 2020-2023  润新知