HTML DOM Element lastChild 属性

定义和用法

lastChild 属性返回指定节点的最后一个子节点,以 Node 对象。

lastChild 属性是只读的。

注意

lastChild 返回的是这些子节点:元素节点、文本节点或注释节点。

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

替代方案:

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

HTML 节点与元素

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

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

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

而元素只是元素节点。

子节点与子元素

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

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

firstChild 与 firstElementChild

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

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

lastChild 与 lastElementChild

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

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

实例

例子 1

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

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

亲自试一试

例子 2

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

let text = document.getElementById("mySelect").lastChild.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").lastChild.nodeName;
</script>

亲自试一试

例子 4

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

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

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

亲自试一试

语法

element.lastChild

node.lastChild

返回值

类型 描述
节点 节点的最后一个子节点。
null 如果无子。

浏览器支持

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

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

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