La proprietà di sola lettura Node.childNodes
restituisce una NodeList
dinamica di nodi
figli dell'elemento dato in cui il primo nodo figlio viene assegnato all'indice 0.
Sintassi
var nodeList = elementNodeReference.childNodes;
Esempi
Utilizzo semplice
// parg è un riferimento a un elemento <p>
// Innanzitutto controlliamo che l'elemento abbia dei nodi figli
if (parg.hasChildNodes()) {
var children = parg.childNodes;
for (var i = 0; i < children.length; i++) {
// fare qualcosa con ogni bambino da children[i]
// NOTA: l'elenco è dinamico, l'aggiunta o la rimozione di bambini modificherà l'elenco
}
}
Rimuovi tutti i bambini da un nodo
// Questo è un modo per rimuovere tutti i bambini da una
// finestra di nodo è un riferimento ad un oggetto
while (box.firstChild) {
//L'elenco è DINAMICO, quindi indicizzerà nuovamente ogni chiamata
box.removeChild(box.firstChild);
}
Appunti
Gli elementi nella raccolta di nodi sono oggetti e non stringhe. Per ottenere dati da oggetti nodo, usa le loro proprietà (ad esempio elementNodeReference.childNodes[1].nodeName
per ottenere il nome, ecc.).
L'oggetto document
ha 2 figli: la dichiarazione Doctype e l'elemento root, in genere documentElement
. (Nei documenti (X)HTML questo è l'elemento HTML
.)
childNodes
include tutti i nodi figli, inclusi nodi non-elemento come nodi di testo e commenti. Per ottenere una raccolta di soli elementi, usa ParentNode.children
.
Specifiche
Specifica | Stato | Commento |
---|---|---|
DOM The definition of 'Node.childNodes' in that specification. |
Living Standard | Nessun cambiamento |
Document Object Model (DOM) Level 3 Core Specification The definition of 'Node.childNodes' in that specification. |
Obsolete | Nessun cambiamento |
Document Object Model (DOM) Level 2 Core Specification The definition of 'Node.childNodes' in that specification. |
Obsolete | Nessun cambiamento |
Document Object Model (DOM) Level 1 Specification The definition of 'Node.childNodes' in that specification. |
Obsolete | Definizione iniziale |
Compatibilità con i browser
BCD tables only load in the browser