当前位置:首页 > JavaScript

js 实现hasclass

2026-04-05 10:05:13JavaScript

实现 hasClass 方法

使用原生 JavaScript 实现 hasClass 功能,可以通过以下两种方式完成:

js 实现hasclass

方法一:使用 classList.contains

现代浏览器支持 classList API,提供更简洁的语法:

js 实现hasclass

function hasClass(element, className) {
  return element.classList.contains(className);
}

方法二:兼容旧版浏览器

对于不支持 classList 的旧浏览器,可以通过字符串操作实现:

function hasClass(element, className) {
  return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
}

注意事项

  • 方法一在 IE9 及以下版本不可用。
  • 方法二通过添加空格避免误匹配子字符串(例如 test 不会误判 test2)。
  • 两种方法均区分大小写。

使用示例

const div = document.querySelector('div');
console.log(hasClass(div, 'active')); // 输出 true 或 false

性能优化

若需频繁检查类名,建议优先使用 classList.contains,其性能优于字符串操作。

标签: jshasclass
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…