Node: firstChild 屬性
Node 介面的只讀 firstChild 屬性返回節點在樹中的第一個子節點,如果沒有子節點則返回 null。
如果節點是 Document,則此屬性返回其直接子節點列表中的第一個節點。
注意:此屬性返回其作為第一個子節點的任何型別的節點。它可能是 Text 節點或 Comment 節點。如果你想獲取作為另一個元素子節點的第一個 Element,請考慮使用 Element.firstElementChild。
值
一個 Node,如果沒有則為 null。
示例
此示例演示了 firstChild 的用法以及空格節點可能如何幹擾此屬性的使用。
html
<p id="para-01">
<span>First span</span>
</p>
js
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);
在上面,控制檯將顯示“#text”,因為插入了一個文字節點以保持起始 <p> 和 <span> 標籤之間的空白。任何 空白字元都會建立一個 #text 節點,從單個空格到多個空格、換行符、製表符等。
另一個 #text 節點被插入到閉合的 </span> 和 </p> 標籤之間。
如果從原始碼中刪除了這些空白字元,則不會插入 #text 節點,並且 span 元素將成為段落的第一個子節點。
html
<p id="para-01"><span>First span</span></p>
js
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);
現在控制檯將顯示“SPAN”。
為避免 node.firstChild 返回 #text 或 #comment 節點的問題,可以使用 Element.firstElementChild 來僅返回第一個元素節點。
規範
| 規範 |
|---|
| DOM # ref-for-dom-node-firstchild① |
瀏覽器相容性
載入中…