Element.classList 方法
Element.classList
是一个只读属性,返回一个元素的类属性的实时 DOMTokenList
集合。
相比将 element.className
作为以空格分隔的字符串来使用,classList
是一种更方便的访问元素的类列表的方法。
语法
const elementClasses = elementNodeReference.classList;
返回值
elementClasses
是一个 DOMTokenList
表示 elementNodeReference
的类属性 。如果类属性未设置或为空,那么 elementClasses.length
返回 0
。虽然 element.classList
本身是只读的,但是你可以使用 add()
和 remove()
方法修改它。
示例
const div = document.createElement('div');
div.className = 'foo';
// 初始状态:<div class="foo"></div>
console.log(div.outerHTML);
// 使用 classList API 移除、添加类值
div.classList.remove("foo");
div.classList.add("anotherclass");
// <div class="anotherclass"></div>
console.log(div.outerHTML);
// 如果 visible 类值已存在,则移除它,否则添加它
div.classList.toggle("visible");
// add/remove visible, depending on test conditional, i less than 10
div.classList.toggle("visible", i < 10 );
console.log(div.classList.contains("foo"));
// 添加或移除多个类值
div.classList.add("foo", "bar", "baz");
div.classList.remove("foo", "bar", "baz");
// 使用展开语法添加或移除多个类值
const cls = ["foo", "bar"];
div.classList.add(...cls);
div.classList.remove(...cls);
// 将类值 "foo" 替换成 "bar"
div.classList.replace("foo", "bar");