原生JS实现hasClass、addClass与removeClass方法详解

作者:小圆点

时间:2026-10-30

浏览:501

本文详细介绍如何使用原生JavaScript封装常用的jQuery类操作方法,包括判断元素是否包含指定class、添加class以及移除class。代码兼容支持classList的现代浏览器与旧版IE,通过RegExp正则匹配实现兼容处理,帮助开发者在无jQuery环境下高效操作DOM样式。

文章目录

原生JS封装jQuery类方法概述

本文旨在记录并分享使用原生JavaScript封装的常用jQuery方法,以便在无需依赖jQuery库的情况下进行DOM操作。

判断元素是否包含class

首先介绍判断元素是否包含指定class的方法。该功能对应jQuery中的hasClass,用于检测目标元素是否拥有特定的CSS类名。


function hasClass(ele, cls) {
  if (!ele || !cls) return false;
  if (ele.classList) {
    return ele.classList.contains(cls);
  } else {
    return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
  }
}

向元素添加class

其次介绍添加class的方法。该功能对应jQuery中的addClass,用于向目标元素追加指定的CSS类名,若元素已存在该类名则不做重复添加。

 


function addClass(ele, cls) {
  if (ele.classList) {
    ele.classList.add(cls);
  } else {
    if (!hasClass(ele, cls)) ele.className += '' + cls;
  }
}

从元素移除class

最后介绍移除class的方法。该功能对应jQuery中的removeClass,用于从目标元素中移除指定的CSS类名,确保元素不再应用该类的样式规则。


function removeClass(ele, cls) {
  if (ele.classList) {
    ele.classList.remove(cls);
  } else {
    ele.className = ele.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
  }
}

以上即为原生JavaScript封装的几个核心jQuery类操作方法的全部内容。这些封装方法提供了简洁的API,有助于提升开发效率,希望能为读者在实际项目中提供实用参考。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章