Sommario
childNodes restituisce una collezione di nodi figli dell'elemento dato.
Sintassi e valori
var ndList = elementNodeReference.childNodes;
ndList è un oggetto di tipo NodeList, cioè un array ordinato contenente gli oggetti Node che sono figli dell'elemento corrente. Se l'elemento non ha figli(cioè è un elemento vuoto), allora ndList non conterrà alcun nodo. Si può accedere ai nodi di questo array solamente tramite indice. L'attributo childNodes è di sola lettura.
Esempio
// parg è il riferimento a un elemento di tipo <p> if (parg.hasChildNodes()) // quindi,controlliamo prima di tutto che l'oggetto non sia vuoto { var children = parg.childNodes; for (var i = 0; i < children.length; i++) { // facciamo qualcosa con ciascun figlio chiamandolo con children[i] // NOTA: la lista cambia in tempo reale aggiungendo o rimuovendo elementi figli }; };
// Questo è un modo per rimuovere tutti i nodi figli di un nodo // box è un riferimento a oggetto di un elemento con figli while (box.firstChild) { // la lista verrà reindicizzata a ogni chiamata box.removeChild(box.firstChild); };
Note
Gli item nell'array restituito sono oggetti di tipo DOM Node, e non semplici stringhe. Per recuperare dati da questi oggetti nodo, devi usare i loro attributi(e.g. elementNodeReference.childNodes[1].nodeName
per ricavare il nome, etc.).
L'oggetto document
normalmente ha due figli: la dichiarazione del Doctype e l'elemento HTML
.
L'oggetto restituito da childNodes può contenere oggetti Element ma anche oggetti Node come spazi o commenti interposti tra un elemento HTML e l'altro; bisogna fare attenzione a questo aspetto, perchè può portare ad errori nella logica dello script.