[Front-End] removeClass和addClass

前言

在純JavaScript使用addClass和removeClass。

hasClass

利用正規表示式判斷是否存在該class。

1
2
3
var hasClass = function(ele,cls) {
return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

addClass

若沒有就加上去。

1
2
3
4
var addClass = function(ele,cls) {
if (!hasClass(ele,cls))
ele.className += " "+cls;
}

removeClass

若有就刪除。

1
2
3
4
5
6
var removeClass = function(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}

參考

Add/Remove Classes With Raw Javascript