js 实现hasclass
检查元素是否包含特定类名的方法
在JavaScript中,可以通过以下方式实现hasClass功能,用于检测DOM元素是否包含指定的CSS类名:
function hasClass(element, className) {
return element.classList.contains(className);
}
兼容旧版浏览器的实现
对于不支持classList的旧浏览器(如IE9以下),可以使用以下替代方案:
function hasClass(element, className) {
var regex = new RegExp('(^|\\s)' + className + '(\\s|$)');
return regex.test(element.className);
}
使用示例
var div = document.getElementById('myDiv');
if (hasClass(div, 'active')) {
// 元素包含'active'类名时的处理逻辑
}
现代浏览器简化写法
在现代浏览器中,可以直接使用classListAPI而不需要封装函数:

document.getElementById('myDiv').classList.contains('active');
注意事项
- 类名匹配区分大小写
- 多个类名用空格分隔时也能正确检测
- 传入的
element参数必须是有效的DOM元素节点






