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
removeChild(child)
Paramètres
Valeur de retour
Le nœud child supprimé.
Exceptions
NotFoundErrorDOMException-
Levée si le
childn'est pas un enfant du nœud. TypeError-
Levée si le
childestnull.
Exemples
>Exemples simples
Étant donné ce HTML :
<div id="parent">
<div id="enfant"></div>
</div>
Pour supprimer un élément défini en connaissant son nœud parent :
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 :
const noeud = document.getElementById("enfant");
if (noeud.parentNode) {
noeud.parentNode.removeChild(noeud);
}
Pour supprimer tous les enfants d'un élément :
const element = document.getElementById("idOfParent");
while (element.firstChild) {
element.removeChild(element.firstChild);
}
Provoquer une TypeError
<!--Exemple de code HTML-->
<div id="parent"></div>
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
<!--Exemple de code HTML-->
<div id="parent">
<div id="enfant"></div>
</div>
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
- La méthode
Node.replaceChild() - La propriété
Node.parentNode - La méthode
Element.remove() - La méthode
Node.cloneNode()