HTML DOMTokenList 參考手冊
- 上一頁 HTML NodeList
- 下一頁 HTML Style
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"); } }
- 上一頁 HTML NodeList
- 下一頁 HTML Style