HTML DOM NodeList 參考手冊
- 上一頁 HTML Collection
- 下一頁 HTML DOMTokenList
屬性和方法
可以在 NodeList 上使用以下屬性和方法:
名稱 | 描述 |
---|---|
entries() | 從列表中返回帶有鍵/值對的迭代器。 |
forEach() | 為列表中的每個節點執行回調函數。 |
item() | 返回指定索引處的節點。 |
keys() | 使用列表中的鍵返回迭代器。 |
length | 返回 NodeList 中的節點數。 |
values() | 使用列表中的值返回迭代器。 |
實例
選擇文檔中的所有 <p>
節點:
const myNodeList = document.querySelectorAll("p");
NodeList 中的元素可以通過索引號訪問。
如需訪問第二個 <p> 節點,您可以寫:
myNodeList[1]
注意:索引從 0 開始。
HTML DOM Node List Length
length
屬性定義節點列表中的節點數:
例子 1
myNodelist.length
當您想要遍歷節點列表中的節點時,length
屬性很有用:
例子 2
更改節點列表中所有 <p> 元素的顏色:
const myNodelist = document.querySelectorAll("p"); for (let i = 0; i < myNodelist.length; i++) { myNodelist[i].style.color = "red"; }
不是數組
NodeList 不是數組!
NodeList 可能看起來像一個數組,但事實并非如此。
您可以遍歷 NodeList 并使用索引引用其節點。
但是您不能在 NodeList 上使用 Array 方法,如 push()、pop() 或 join()。
HTMLCollection 與 NodeList 的區別
NodeList 與 HTMLcollection 非常相似。
兩者都是從文檔中提取的節點(元素)組成的類似數組的集合(列表)。可以通過索引號訪問節點。索引從 0 開始。
兩者都有 length 屬性,它返回列表(集合)中元素的數量。
HTMLCollection 是文檔元素的集合。
NodeList 是文檔節點(元素節點、屬性節點和文本節點)的集合。
HTMLCollection 項目可以通過它們的名稱、id 或索引號來訪問。
NodeList 項只能通過它們的索引號訪問。
HTMLCollection 始終是一種實時集合。例如:如果將 <li> 元素添加到 DOM 中的列表,則 HTMLCollection 中的列表也會發生變化。
NodeList 通常是一種靜態集合。例如:如果將 <li> 元素添加到 DOM 中的列表,則 NodeList 中的列表不會改變。
getElementsByClassName()
和 getElementsByTagName()
方法返回實時的 HTMLCollection。
querySelectorAll()
方法返回靜態 NodeList。
childNodes
屬性返回實時的 NodeList。
實時節點列表
在某些情況下,NodeList 是實時的:DOM 中的更改會更新 NodeList。
childNodes
方法返回實時的 NodeList。
- 上一頁 HTML Collection
- 下一頁 HTML DOMTokenList