HTML DOM Element firstChild 属性

定义和用法

firstChild 属性返回指定节点的首个子节点,以 Node 对象。

firstChild 属性是只读的。

firstChild 属性与 childNodes[0] 相同。

注意

firstChild 返回第一个子节点:元素节点、文本节点或注释节点。

元素之间的空白也是文本节点。

替代方案:

firstElementChild 属性 - firstElementChild 属性返回第一个子元素(忽略文本和注释节点)。

另请参阅:

childNodes 属性

lastChild 属性

nextSibling 属性

previousSibling 属性

节点属性

parentNode 属性

nodeName 属性

nodeType 属性

nodeValue 属性

实例

例子 1

返回 <ul> 元素的第一个子节点的 HTML 内容:

document.getElementById("myList").firstChild.innerHTML;

亲自试一试

例子 2

获取 <select> 元素的第一个子节点的文本:

let text = document.getElementById("mySelect").firstChild.text;

亲自试一试

例子 3

此例演示空格的干扰。

尝试获取 "myDIV" 的第一个子节点的节点名:

<div id="myDIV">
  <p>Looks like first child</p>
  <p>Looks like last Child</p>
</div>

<script>
let text = document.getElementById("myDIV").firstChild.nodeName;
</script>

亲自试一试

例子 4

但是,如果您从源中删除空格,则 "myDIV" 中没有 #text 节点:

<div id="myDIV"><p>First child</p><p>Last Child</p></div>

<script>
let text = document.getElementById("myDIV").firstChild.nodeName;
</script>

亲自试一试

HTML 节点与元素

HTML DOM(文档对象模型)中,HTML 文档是拥有(或没有)子节点的节点集合。

节点是元素节点、文本节点和注释节点。

元素之间的空白也是文本节点。

元素只是元素节点。

子节点与子元素

childNodes 返回子节点(元素节点、文本节点和注释节点)。

children 返回子元素(而非文本和注释节点)。

firstChild 与 firstElementChild

firstChild 返回第一个子节点(元素节点、文本节点或注释节点)。元素之间的空白也是文本节点。

firstElementChild 返回第一个子元素(不返回文本节点和注释节点)。

lastChild 与 lastElementChild

lastChild 返回最后一个子节点(元素节点、文本节点或注释节点)。元素之间的空白也是文本节点。

lastElementChild 返回最后一个子元素(不返回文本节点和注释节点)。

语法

element.firstChild

node.firstChild

返回值

类型 描述
节点

节点的第一个子节点。

如果无子,则返回 null。

浏览器支持

element.firstChild 是 DOM Level 1 (1998) 特性。

所有浏览器都完全支持它:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 9-11 支持 支持 支持 支持