HTML DOM Element hasChildNodes() 方法

定义和用法

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

hasChildNodes() 方法是只读的。

注意

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

另请参阅:

childNodes 属性

firstChild 属性

lastChild 属性

nextSibling 属性

previousSibling 属性

parentNode 属性

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 支持 支持 支持 支持