HTML DOM classList 属性
HTML DOM 的 classList 属性返回元素的类名,作为 DOMTokenList 对象
该属性用于在元素中添加,移除及切换 CSS 类
classList 属性是只读的,但提供了 add() 和 remove() 方法修改它
浏览器支持
classList | yes | 10.0+ | yes | 5.1+ | 11.5+ |
语法
element.classList
属性
属性 | 描述 |
---|---|
length | 返回类列表中类的数量,该属性是只读的 |
方法
方法 | 描述 |
---|---|
add(class1, class2, ...) | 在元素中添加一个或多个类名 如果指定的类名已存在,则不会添加 |
contains(class) | 返回布尔值,判断指定的类名是否存在 可能值: true - 元素包已经包含了该类名 false - 元素中不存在该类名 |
item(index) | 返回类名在元素中的索引值。索引值从 0 开始 如果索引值在区间范围外则返回 null |
remove(class1, class2, ...) | 移除元素中一个或多个类名 移除不存在的类名,不会报错 |
toggle(class,true|false) | 在元素中切换类名 第一个参数为要在元素中移除的类名,并返回 false 如果该类名不存在则会在元素中添加类名,并返回 true 第二个是可选参数,是个布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在 例如:移除一个 class:element.classList.toggle("classToRemove", false); 添加一个 class:element.classList.toggle("classToAdd",true); Internet Explorer 或 Opera 12 及其更早版本不支持第二个参数 |
返回值
一个 DOMTokenList, 包含元素的类名列表
范例
为 <div> 元素添加 class
document.getElementById("myDIV").classList.add("mystyle");
范例
为 <div> 元素添加多个类
document.getElementById("myDIV").classList.add( "mystyle", "anotherClass", "thirdClass");
范例
为 <div> 元素移除一个类
document.getElementById("myDIV").classList.remove("mystyle");
范例
为 <div> 元素移除多个类
document.getElementById("myDIV").classList.remove( "mystyle", "anotherClass", "thirdClass");
范例
为 <div> 元素切换类
document.getElementById("myDIV").classList.toggle( "newClassName");
范例
获取 <div> 元素的类名
<div id="myDIV" class="mystyle anotherClass thirdClass">I am a DIV element</div> <script> var x = document.getElementById("myDIV").classList; </script>
范例
查看 <div> 元素有多少个类名
var x = document.getElementById("myDIV").classList.length;
范例
获取 <div> 元素的第一个类名 ( 索引为 0 )
var x = document.getElementById("myDIV").classList.item(0);
范例
查看元素是否存在 "mystyle" 类
var x = document.getElementById("myDIV").classList.contains("mystyle");
范例
查看元素是否存在 "mystyle" 类,如果存在则移除另外一个类名
var x = document.getElementById("myDIV"); if (x.classList.contains("mystyle")) { x.classList.remove("anotherClass"); } else { alert("Could not find it."); }
相关知识
CSS 基础教程: CSS 选择器
CSS 参考手册: CSS .class 选择器
HTML DOM 参考手册: HTML DOM className 属性
HTML DOM 参考手册: HTML DOM getElementsByClassName() 方法
HTML DOM 参考手册: HTML DOM Style 对象