Element: className 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Element 接口的 className 属性用于获取和设置指定元素的 class 属性 的值。

一个字符串变量,表示当前元素的类名或以空格分隔的类名。

示例

js
const el = document.getElementById("item");
el.className = el.className === "active" ? "inactive" : "active";

注意

该属性的名称使用 className 而不是 class,是因为 class 是许多用于操作 DOM 的语言中的关键字,存在命名冲突。

如果 element 是一个 SVGElement,那么 className 也可以是 SVGAnimatedString 的一个实例。如果您正在处理 SVG 元素,使用 Element.getAttributeElement.setAttribute 来获取/设置元素的 class 属性会更容易。但是,请注意,如果 elementclass 属性 为空,Element.getAttribute 将返回 null 而不是 ""

js
elm.setAttribute("class", "my-class");
const myClass = elm.getAttribute("class");

注意: class 是一个 HTML 属性的名称,而 className 是一个 DOM 属性的名称。

规范

规范
DOM
# ref-for-dom-element-classname①

浏览器兼容性

另见