HTML DOM Element hasChildNodes() 方法

定义和用法

如果指定节点有任何子节点,hasChildNodes() 方法返回 true,否则返回 false

hasChildNodes() 方法是只读的。

注意:节点之间的空白被视为子节点(文本节点)。

HTML 节点与元素

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

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

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

而元素只是元素节点。

子节点与子元素

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

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

同胞与元素同胞

同胞是“兄弟”和“姐妹”。

同胞是拥有相同父节点的节点(在相同的 childNodes 列表中)。

元素同胞是拥有相同父元素的元素(在相同的 children 列表中)。

实例

例子 1

元素是否有子节点:

let answer = element.hasChildNodes();

亲自试一试

例子 2

移除元素的第一个子节点:

if (element.hasChildNodes()) {
  element.removeChild(element.childNodes[0]);
}

亲自试一试

语法

element.hasChildNodes()

参数

无。

返回值

类型 描述
布尔值 如果节点拥有子节点,则返回布尔 true,否则返回 false。

浏览器支持

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

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

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