Node.childNodes

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

概述

Node.childNodes 返回包含指定节点的子节点的集合,该集合为即时更新的集合(live collection)。

语法

var ndList = elementNodeReference.childNodes;

ndList 变量为 NodeList 类型,且为只读。

例子

// parg 是一个对 <p> 元素的引用
if (parg.hasChildNodes())
// 首先我们检查它是否包含子节点
 {
   var children = parg.childNodes;
   for (var i = 0; i < children.length; i++)
   {
   // children[i] 就是遍历到的每个子节点。
   // 注意:该 NodeList 对象为 LIVE 类型的 NodeList,添加或删除子节点都会实时的改变整个 NodeList 对象。
   };
 };
//下面的方法可以删除节点 box 的所有子节点
while (box.firstChild)
 {
    //box 为 LIVE 类型的 NodeList,所以 firstChild 属性每次会指向不同的子节点
    box.removeChild(box.firstChild);
 };

备注

集合的元素是一个节点而不是字符串。要从集合的元素获取数据,你必须使用它们的属性(例如:用 elementNodeReference.childNodes[1].nodeName 获取它们的名称,等等)。

document节点 (文档节点) 包含两个子节点:Doctype 声明和根节点。根节点通常为 documentElement 引用,且在 (X)HTML 文档中为 HTML 元素。

规范

相关链接