javascript之addClass思路

我们需要来写 addClass 方法 , 在添加class的时候,需要判断是否已经存在 ,如果没有存在即添加。
所以我们准备两个方法, 一个是addClass, 另一个则是 hasClass ;

首先是hasClass方法 :

function hasClass(ele , className){
 /*通過正則表達式來判斷*/
   let reg= new RegExp("(^|\\s)"+className+"(\\s|$)");
   return reg.test(ele.className);
}

当我们准备好hasClass方法后,就可以来写addClass了。如下:

 function addClass(ele,className){
 if(!hasClass(ele,className)){
    /*先转化为数组*/
     var newClassArray  =  ele.className.split(" ");
    /*往数组中添加新的class*/
     newClassArray.push(className);
    /*将数组转化为string , 再进行赋值操作*/
     ele.className = newClassArray.join(" ");
}
}

你可能感兴趣的:(javascript之addClass思路)