Node.childNodes

La propiedad de solo lectura Node.childNodes  devuelve una colección de hijos nodes del elemento dado donde el primer nodo hijo es asignado un índice 0.

Sintaxis

var nodeList = elementNodeReference.childNodes; 

Ejemplos

Uso simple

// parg is an object reference to a <p> element

// First check that the element has child nodes 
if (parg.hasChildNodes()) {
  var children = parg.childNodes;

  for (var i = 0; i < children.length; i++) {
    // do something with each child as children[i]
    // NOTE: List is live, adding or removing children will change the list
  }
}

Eliminar todos los hijos de un nodo

// This is one way to remove all children from a node
// box is an object reference to an element

while (box.firstChild) {
    //The list is LIVE so it will re-index each call
    box.removeChild(box.firstChild);
}

Notas

Los items en una colección de nodos son objetos y no cadenas de caracteres. Para obtener los datos de los objetos del nodo, use sus propiedades (ej. elementNodeReference.childNodes[1].nodeName para obtener el nombre, etc.).

El objeto document contiene 2 hijos: la declaración del Doctype y el elemento raíz, generalmente referido como  documentElement. (En documentos (X)HTML  es el elemento HTML)

childNodes incluye todos los nodos hijos, incluidos los nodos no elementos, como nodos de tipo textos y comentarios. Para obtener una colección de solo elementos, use ParentNode.children.

Especificaciones

Especificación Estado Comentarios
DOM
La definición de 'Node.childNodes' en esta especificación.
Living Standard Sin cambios
Document Object Model (DOM) Level 3 Core Specification
La definición de 'Node.childNodes' en esta especificación.
Obsolete Sin cambios
Document Object Model (DOM) Level 2 Core Specification
La definición de 'Node.childNodes' en esta especificación.
Obsolete Sin cambios
Document Object Model (DOM) Level 1 Specification
La definición de 'Node.childNodes' en esta especificación.
Obsolete Definición inicial

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung Internet
childNodesChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 5Opera Soporte completo 7Safari Soporte completo 1.2WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0

Leyenda

Soporte completo  
Soporte completo

Vea también