Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

element.childNodes

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.

Specifiche

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: render93, teoli, AshfaqHossain, DaViD83
 Ultima modifica di: render93,