Vue manipulates DOM, adds and removes styles

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.

insert image description here
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

insert image description here

insert image description here

Guess you like

Origin blog.csdn.net/qq_44854653/article/details/125594344