美文网首页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