HTML DOM Element classList 属性
定义和用法
classList 属性返回元素的 CSS 类名。
classList 属性返回 DOMTokenList。
实例
例子 1
将 "myStyle" 类添加到元素:
const list = element.classList;
list.add("myStyle");
例子 2
从元素中删除 "myStyle" 类:
const list = element.classList;
list.remove("myStyle");
例子 3
切换 "myStyle" 的开闭:
const list = element.classList;
list.toggle("myStyle");
提示:页面下方提供更多实例。
语法
element.classList
返回值
| 类型 | 描述 |
|---|---|
| 对象 | DOMTokenList。元素的类名列表。 |
注释:classList 属性是只读的,但您可以使用下面列出的方法从列表中添加、切换或删除 CSS 类:
classList 属性和方法
| 名称 | 描述 |
|---|---|
| add() | 将一个或多个令牌添加到列表中。 |
| contains() | 如果列表包含类,则返回 true。 |
| entries() | 从列表中返回带有键/值对的迭代器。 |
| forEach() | 为列表中的每个令牌执行回调函数。 |
| item() | 返回指定索引处的令牌。 |
| keys() | 返回包含列表中键的迭代器。 |
| length | 返回列表中的令牌数。 |
| remove() | 从列表中删除一个或多个令牌。 |
| replace() | 替换列表中的令牌。 |
| supports() | 如果令牌是属性支持的令牌之一,则返回 true。 |
| toggle() | 在列表中的令牌之间切换。 |
| value | 以字符串形式返回令牌列表。 |
| values() | 返回带有列表中值的迭代器。 |
更多实例
例子 4
向元素添加多个类:
element.classList.add("myStyle", "anotherClass", "thirdClass");
例子 5
从元素中删除多个类:
element.classList.remove("myStyle", "anotherClass", "thirdClass");
例子 6
元素有多少个类名:
let numb = element.classList.length;
例子 7
获取元素 "myDIV" 的类名:
<div id="myDIV" class="myStyle anotherClass thirdClass">
<p>I am myDIV.</p>
</div>
const list = document.getElementById("myDIV").classList;
例子 8
获取元素的第一个类:
let className = element.classList.item(0);
例子 9
元素是否有 "myStyle" 类?
let x = element.classList.contains("myStyle");
例子 10
如果元素有 "myStyle" 类,则删除 "anotherClass":
if (element.classList.contains("mystyle")) {
element.classList.remove("anotherClass");
}
例子 11
在类之间切换以创建下拉按钮:
document.getElementById("myBtn").onclick = function() {myFunction()};
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
例子 12
创建粘性导航栏:
// 获取导航栏
const navbar = document.getElementById("navbar");
// 获取导航栏的偏移位置
const sticky = navbar.offsetTop;
// 当您到达其滚动位置时,将 sticky 类添加到导航栏
// 离开滚动位置时将其删除
function myFunction() {
if (window.pageYOffset >= sticky) {
navbar.classList.add("sticky")
} else {
navbar.classList.remove("sticky");
}
}
浏览器支持
所有浏览器都支持 element.classList:
| Chrome | IE | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| Chrome | IE | Edge | Firefox | Safari | Opera |
| 支持 | 9-11 | 支持 | 支持 | 支持 | 支持 |