--- title: Node.appendChild() slug: Web/API/Node/appendChild tags: - API - DOM - Node - Referenza - metodo translation_of: Web/API/Node/appendChild ---
{{APIRef("DOM")}}

Il metodo Node.appendChild() aggiunge un nodo alla fine dell'elenco di figli di un nodo genitore specificato. Se il figlio dato è un riferimento a un nodo esistente nel documento, appendChild() lo sposta dalla sua posizione corrente alla nuova posizione (non è necessario rimuovere il nodo dal suo nodo padre prima di aggiungerlo ad un altro nodo).

Ciò significa che un nodo non può essere in due punti del documento contemporaneamente. Quindi se il nodo ha già un genitore, il nodo viene prima rimosso, quindi aggiunto alla nuova posizione. Il metodo {{domxref("Node.cloneNode()")}} può essere usato per fare una copia del nodo prima di aggiungerlo sotto il nuovo genitore. Si noti che le copie eseguite con cloneNode non verranno automaticamente mantenute sincronizzate.

Se il figlio dato è un {{domxref("DocumentFragment")}}, l'intero contenuto di {{domxref("DocumentFragment")}} viene spostato nell'elenco secondario del nodo genitore specificato.

Sintassi

element.appendChild(aChild);

Parametri

aChild
Il nodo da aggiungere al nodo genitore dato (comunemente un elemento).

Valore di ritorno

Il valore restituito è il figlio aggiunto tranne quando il figlio dato è un {{domxref("DocumentFragment")}}, nel qual caso viene restituito il {{domxref("DocumentFragment")}}.

Appunti

Il concatenamento potrebbe non funzionare come previsto a causa di appendChild() che restituisce l'elemento figlio:

var aBlock = doc.createElement('block').appendChild(doc.createElement('b'));

Sets aBlock to <b></b> only, which is probably not what you want.

Esempio

// Crea un nuovo elemento di paragrafo e aggiungilo alla fine del corpo del documento
var p = document.createElement("p");
document.body.appendChild(p);

Specifiche

Specifica Stato Commento
{{SpecName('DOM WHATWG', '#dom-node-appendchild', 'Node.appendChild()')}} {{Spec2('DOM WHATWG')}} Nessun cambiamento da {{SpecName("DOM3 Core")}}.
{{SpecName('DOM3 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}} {{Spec2('DOM3 Core')}} Nessun cambiamento da {{SpecName("DOM2 Core")}}.
{{SpecName('DOM2 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}} {{Spec2('DOM2 Core')}} Nessun cambiamento da {{SpecName("DOM1")}}.
{{SpecName('DOM1', 'level-one-core.html#ID-184E7107', 'Node.appendChild()')}} {{Spec2('DOM1')}} Definizione inziale.

Compatibilità con i browser

{{Compat("api.Node.appendChild")}}

Vedi anche