HTML DOM 元素 firstChild
示例
返回 <ul> 元素的第一个子节点的 HTML 内容
document.getElementById("myList").firstChild.innerHTML;
自己动手试一试 »
获取 <select> 元素的第一个子节点的文本
let text = document.getElementById("mySelect").firstChild.text;
自己动手试一试 »
更多示例见下文。
描述
firstChild
属性返回节点的第一个子节点。
firstChild
属性返回一个节点对象。
firstChild
属性是只读的。
firstChild
属性与 childNodes[0]
相同。
重要提示!
firstChild
返回第一个子节点:一个元素节点、一个文本节点或一个注释节点。
元素之间的空白符也是文本节点。
替代方案
firstElementChild
属性返回第一个子元素(忽略文本和注释节点)。
另请参阅
节点属性
节点与元素
在 HTML DOM 术语中
节点是指所有节点(元素节点、文本节点和注释节点)。
元素之间的空白符也是文本节点。
元素仅指元素节点。
childNodes 与 children
childNodes 返回子节点(元素节点、文本节点和注释节点)。
children 返回子元素(不包括文本和注释节点)。
firstChild 与 firstElementChild
firstChild 返回第一个子节点(元素节点、文本节点或注释节点)。元素之间的空白符也是文本节点。
firstElementChild 返回第一个子元素(不包括文本和注释节点)。
lastChild 与 lastElementChild
lastChild 返回最后一个子节点(元素节点、文本节点或注释节点)。元素之间的空白符也是文本节点。
lastElementChild 返回最后一个子元素(不包括文本和注释节点)。
语法
element.firstChild
或
node.firstChild
返回值
类型 | 描述 |
节点 | 节点的第一个子节点。 如果不存在子节点,则为 null 。 |
更多示例
此示例演示了空白符可能如何干扰。
尝试获取 "myDIV" 的第一个子节点的节点名称
<div id="myDIV">
<p>看起来像第一个子节点</p>
<p>看起来像最后一个子节点</p>
</div>
<script>
let text = document.getElementById("myDIV").firstChild.nodeName;
</script>
自己动手试一试 »
但是,如果从源代码中删除空白符,则 "myDIV" 中没有 #text 节点
<div id="myDIV"><p>第一个子节点</p><p>最后一个子节点</p></div>
<script>
let text = document.getElementById("myDIV").firstChild.nodeName;
</script>
自己动手试一试 »
浏览器支持
element.firstChild
是 DOM Level 1 (1998) 的一个特性。
所有浏览器都完全支持。
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 9-11 |