Sommario
childNodes restituisce unacollezione 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.