Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Node : méthode removeChild()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode removeChild() de l'interface Node supprime un nœud enfant du DOM et retourne le nœud supprimé.

Note : Tant qu'une référence est conservée sur l'enfant supprimé, il existe toujours en mémoire, mais ne fait plus partie du DOM. Il peut encore être réutilisé plus tard dans le code.

Si la valeur de retour de removeChild() n'est pas stockée et qu'aucune autre référence n'est conservée, elle est automatiquement supprimée de la mémoire après un court laps de temps.

Contrairement à Node.cloneNode(), la valeur de retour conserve les objets EventListener qui y sont associés.

Syntaxe

js
removeChild(child)

Paramètres

child

Un objet Node représentant le nœud enfant à supprimer du DOM.

Valeur de retour

Le nœud child supprimé.

Exceptions

NotFoundError DOMException

Levée si le child n'est pas un enfant du nœud.

TypeError

Levée si le child est null.

Exemples

Exemples simples

Étant donné ce HTML :

html
<div id="parent">
  <div id="enfant"></div>
</div>

Pour supprimer un élément défini en connaissant son nœud parent :

js
const parent = document.getElementById("parent");
const enfant = document.getElementById("enfant");
const noeudSupprime = parent.removeChild(enfant);

Pour supprimer un élément défini sans avoir à définir son nœud parent :

js
const noeud = document.getElementById("enfant");
if (noeud.parentNode) {
  noeud.parentNode.removeChild(noeud);
}

Pour supprimer tous les enfants d'un élément :

js
const element = document.getElementById("idOfParent");
while (element.firstChild) {
  element.removeChild(element.firstChild);
}

Provoquer une TypeError

html
<!--Exemple de code HTML-->
<div id="parent"></div>
js
const parent = document.getElementById("parent");
const enfant = document.getElementById("enfant");

// Lève une `TypeError` non interceptée
const ramasseMiettes = parent.removeChild(enfant);

Provoquer une NotFoundError

html
<!--Exemple de code HTML-->
<div id="parent">
  <div id="enfant"></div>
</div>
js
const parent = document.getElementById("parent");
const enfant = document.getElementById("enfant");

// Ce premier appel supprime correctement le nœud
const ramasseMiettes = parent.removeChild(enfant);

// Le second appel lève une `NotFoundError`
parent.removeChild(enfant);

Spécifications

Spécification
DOM
# dom-node-removechild

Compatibilité des navigateurs

Voir aussi