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 | 支持 | 支持 | 支持 | 支持 |