HTML DOMTokenList 参考手册
DOMTokenList
DOMTokenList 是一组空格分隔的令牌。
可以通过索引访问 DOMTokenList(从 0 开始)。
length 属性返回 DOMTokenList 中的令牌数。
注释:HTML 元素的 classList 属性表示 DOMTokenList。
DOMTokenList 属性和方法
名称 | 描述 |
---|---|
add() | 将一个或多个令牌添加到列表中。 |
contains() | 如果列表包含类,则返回 true。 |
entries() | 从列表中返回带有键/值对的迭代器。 |
forEach() | 为列表中的每个令牌执行回调函数。 |
item() | 返回指定索引处的令牌。 |
keys() | 返回包含列表中键的迭代器。 |
length | 返回列表中的令牌数。 |
remove() | 从列表中删除一个或多个令牌。 |
replace() | 替换列表中的令牌。 |
supports() | 如果令牌是属性支持的令牌之一,则返回 true。 |
toggle() | 在列表中的令牌之间切换。 |
value | 以字符串形式返回令牌列表。 |
values() | 返回带有列表中值的迭代器。 |
实例
例子 1
将 "myStyle" 类添加到元素:
element.classList.add("myStyle");
例子 2
从元素中删除 "myStyle" 类:
element.classList.remove("myStyle");
例子 3
打开并关闭 "myStyle":
element.classList.toggle("myStyle");
页面下方提供更多实例。
不是数组
DOMTokenList 不是数组!
DOMTokenList 可能看起来像数组,但事实并非如此。
您可以遍历 DOMTokenList 并使用索引引用其令牌。
但是您不能在 DOMTokenList 上使用 Array 方法,如 push()、pop() 或 join()。
实例
例子 1
向元素添加多个类:
element.classList.add("myStyle", "anotherClass", "thirdClass");
例子 2
从元素中删除多个类:
element.classList.remove("myStyle", "anotherClass", "thirdClass");
例子 3
获取元素的类名数量:
let numb = element.classList.length;
例子 4
获取 "myDIV" 元素的类名:
<div id="myDIV" class="myStyle anotherClass thirdClass"> <p>I am myDIV.</p> </div> const list = document.getElementById("myDIV").classList;
例子 5
获取元素的第一个类:
let className = element.classList.item(0);
例子 6
元素是否有 "myStyle" 类?
let x = element.classList.contains("myStyle");
例子 7
如果元素有 "myStyle" 类,则删除 "anotherClass":
if (element.classList.contains("mystyle")) { element.classList.remove("anotherClass"); }
例子 8
在类之间切换,以创建下拉按钮:
document.getElementById("myBtn").onclick = function() {myFunction()}; function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); }
例子 9
创建粘性导航栏:
// 获取导航栏 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"); } }