classlist 是操作 dom 元素类名的推荐方式,提供 add()、remove()、toggle() 等方法安全增删切换单个或多个类,支持数组展开和条件控制,还具备 contains()、replace()、clear() 等实用功能,但不可直接赋值且不兼容 ie9 及以下。

JavaScript 中操作 DOM 元素的 classList 是最推荐的方式,它比直接修改 className 更安全、更语义化,也更易维护。
添加 class:使用 add()
向元素添加一个或多个 CSS 类,已存在则忽略,不会重复添加:
-
element.classList.add("active")—— 添加单个类 -
element.classList.add("btn", "btn-primary", "is-loading")—— 一次添加多个类 - 支持变量和表达式:
element.classList.add(...classesArray)(配合展开运算符)
删除 class:使用 remove()
移除指定的一个或多个类,不存在也不报错:
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
element.classList.remove("hidden")element.classList.remove("disabled", "error")- 也可配合数组:
element.classList.remove(...toRemove)
切换 class:使用 toggle()
有则删,无则加,适合开关类(如显示/隐藏、选中/未选中):
-
element.classList.toggle("active")—— 基础切换 -
element.classList.toggle("highlight", condition)—— 第二个参数为布尔值,决定是否强制添加或移除
判断与清空:其他常用方法
contains() 检查是否存在某个类,返回布尔值;replace() 替换旧类为新类;item() 获取指定索引的类名;length 获取类数量;clear() 清空所有类:
if (element.classList.contains("success")) { ... }element.classList.replace("old-class", "new-class")-
element.classList.clear()—— 注意:这会删掉所有 class,包括非 JS 控制的样式类,慎用
不复杂但容易忽略:classList 是只读属性,不能直接赋值,必须用它的方法操作;同时它不兼容 IE9 及以下,如需兼容老版本,需降级使用 className 字符串拼接或第三方库辅助。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










