removeClass,addClass的原生JS代码

removeClass,addClass的原生JS代码分享

额。。。分享了一个代码,但是站长君给移除首页了。原因是禁止分享纯代码,没有学习心得。

这里补上,写这段代码的主要是最近招聘写的笔试题经常遇到这样加一个覆盖样式的题有要求代码原生,所以有了一下代码。

原理是利用正则匹配找到className,如果没有的话就加上相应的STR属性。相似的,removeClass也是同样的道理。

代码如下:

addClass:

addClass=function(node,str){
if(!new RegExp("(^|\\s+)"+str).test(node.className)){
node.className=node.className+" "+str;}
};

removeClass:

removeClass=function(node,str){
if(new RegExp("(^|\\s+)"+str).test(node.className)){
node.className=node.className.replace(new RegExp("(^|\\s+)"+str),"");}
};

利用正则匹配,查找,和替换。。。。。。还可以用~

原文地址:https://www.cnblogs.com/happycloud/p/3052582.html