美文网首页Web前端之路让前端飞
原生js实现addClass, removeClass 方法

原生js实现addClass, removeClass 方法

作者: EdmundChen | 来源:发表于2017-10-16 16:25 被阅读117次

    addClass

    export function addClass(elem, className) {
      if (!className) return;
    
      const els = Array.isArray(elem) ? elem : [elem];
    
      els.forEach((el) => {
        if (el.classList) {
          el.classList.add(className.split(' '));
        } else {
          el.className += ` ${className}`;
        }
      });
    }
    

    removeClass

    export function removeClass(elem, className) {
      if (!className) return;
    
      const els = Array.isArray(elem) ? elem : [elem];
      els.forEach((el) => {
        if (el.classList) {
          el.classList.remove(className.split(' '));
        } else {
          el.className = el.className.replace(new RegExp(`(^|\\b)${className.split(' ').join('|')}(\\b|$)`, 'gi'), ' ');
        }
      });
    }
    

    相关文章

      网友评论

        本文标题:原生js实现addClass, removeClass 方法

        本文链接:https://www.haomeiwen.com/subject/ngtluxtx.html