At that time, it was for the following requirements. There were no components that could be used in the development process. I thought this method was very useful.
1. Core method
// 删除样式
removeClass(el, className) {
if (!this.hasClass(el, className)) return;
let newClassName = el.className.split(" ");
let index = newClassName.findIndex((item) => {
return item == className;
});
newClassName.splice(index, 1);
el.className = newClassName.join(" ");
},
// 判断是否包括样式
hasClass(el, className) {
let reg = new RegExp("(^|\\s)" + className + "($|\\s)");
return reg.test(el.className);
},
// 添加样式
addClass(el, className) {
if (this.hasClass(el, className)) return;
let newClassName = el.className.split(" ");
newClassName.push(className);
el.className = newClassName.join(" ");
},
2. use