从JavaScript或jQuery中的多个元素中删除类

Remove class from multiple elements in JavaScript or jQuery

本文关键字:元素 删除 JavaScript jQuery      更新时间:2023-09-26

假设我有一个包含多个元素和类的HTML。

如何在不命名classToRemove类所有元素的情况下删除这些元素?

谢谢。


<html>
<body class="classToRemove">
    <div class="classToRemove">
        <a class="classToRemove">Link</a>
    <div>
</body>
<html>

使用jQuery,$('.classToRemove').removeClass('classToRemove'); 非常简单

使用javascript 删除类

const removeClass = ($el, className) => {
  const _removeClass = function(el) {
    if (el.classList) {
      el.classList.remove(className);
    } else {
      el.className = el.className.replace(
        new RegExp('(^|''b)' + className.split(' ').join('|') + '(''b|$)', 'gi'),
        ' ',
      );
    }
  };
  if ($el.length === 1) {
    _removeClass($el);
  } else if ($el.length > 1) {
    $el.forEach(function(item) {
      _removeClass(item);
    });
  }
};