轻松上手,快乐学习!

HTML DOM firstChild 属性


实例

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

var x = document.getElementById("myList").firstChild.innerHTML;
亲自试一试 »

页面下方有更多实例。


定义和用法

firstChild 属性将指定节点的第一个子节点作为节点对象返回。

此属性与 firstElementChild之间的区别在于, firstChild 将第一个子节点作为元素节点、文本节点或注释节点返回(取决于第一个节点),而 firstElementChild 将第一个子节点作为元素节点返回(忽略文本和注释节点)。

注释: 元素内部的空白被视为文本,文本被视为节点(请参阅"更多示例")。

该属性是只读的。

提示: 使用 element.childNodes 属性返回指定节点的任何子节点。childNodes[0] 将生成与 firstChild 相同的结果。

提示: 要返回指定节点的最后一个子节点,请使用 the lastChild 属性。


浏览器支持

属性
firstChild Yes Yes Yes Yes Yes

语法

node.firstChild

技术细节

返回值: Node 节点对象,表示节点的第一个子节点,如果没有子节点,则为 null
DOM 版本 Core Level 1 Node Object

更多实例

实例

在本例中,我们将演示空白如何干扰此属性。

获取 <div> 元素的第一个子节点的节点名:

<!--
Whitespace inside elements is considered as text, and text is considered as nodes
In this example, there is whitespace before <p>, before <span> and after <span>
Therefore, the first child node of <div> is a #text node, and not the <p> element you expected
-->

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

<script>
var x = document.getElementById("myDIV").firstChild.nodeName;
document.getElementById("demo").innerHTML = x;
</script>
亲自试一试 »

实例

但是,如果我们从源代码中删除空白,则 <div> 中没有 #text 节点,这将使 <p> 元素成为第一个子节点:

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

<script>
var x = document.getElementById("myDIV").firstChild.nodeName;
document.getElementById("demo").innerHTML = x;
</script>
亲自试一试 »

实例

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

var x = document.getElementById("mySelect").firstChild.text;
亲自试一试 »

相关页面

HTML DOM 参考手册: node.lastChild 属性

HTML DOM 参考手册: node.childNodes 属性

HTML DOM 参考手册: node.parentNode 属性

HTML DOM 参考手册: node.nextSibling 属性

HTML DOM 参考手册: node.previousSibling 属性

HTML DOM 参考手册: node.nodeName 属性