DOM supprimer le nœud
XML DOM Supprimer le nœud
La méthode RemoveChild() supprime le nœud spécifié. La méthode
removeAttribute() supprime l'attribut spécifié.
Essayez - Exemple
L'exemple ci-dessous utilise le fichier XML books.xml.
La fonction loadXMLDoc(), située en JavaScript externe, permet de charger des fichiers XML.
Supprimer le nœud d'élément
Cet exemple utilise RemoveChild() pour supprimer le premier élément <book>
Supprimer le nœud d'élément actuel
Cet exemple utilise parentNode et removeChild() pour supprimer l'élément <book>
Supprimer le nœud de texte
Cet exemple utilise RemoveChild() pour supprimer le nœud de texte du premier élément <title>
Effacer le texte du nœud de texte
Cet exemple utilise l'attribut nodeValue() pour effacer le nœud de texte du premier élément <title>
Supprimer un attribut par nom
Cet exemple utilise removeAttribute() pour supprimer l'attribut "category" du premier élément <book>
Supprimer les attributs basés sur l'objet
Cet exemple utilise removeAttributeNode() pour supprimer tous les attributs de tous les éléments <book>
Supprimer le nœud d'élément
La méthode RemoveChild() supprime le nœud spécifié.
Lorsqu'un nœud est supprimé, tous ses nœuds enfants sont également supprimés.
L'extrait de code suivant supprimera le premier élément <book> du fichier XML chargé :
Exemple
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write("Number of book nodes: "); document.write(xmlDoc.getElementsByTagName('book').length); document.write("<br>"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y); document.write("Number of book nodes after removeChild(): "); document.write(xmlDoc.getElementsByTagName('book').length); </script> </body> </html>
Exécuter l'exemple»
Cliquez sur le bouton « Exécuter l'exemple » pour afficher l'exemple en ligne
Explication de l'exemple :
Utiliser loadXMLDoc( ) dans "books.xml" Chargez xmlDoc
Définissez la variable y sur le nœud de l'élément à supprimer
En utilisant RemoveChild() La méthode du nœud parent supprime le nœud d'élément
se supprime - supprime le nœud actuel
La méthode RemoveChild() est la seule méthode qui peut supprimer le nœud spécifié .
Lorsque vous avez accédé au nœud qui doit être supprimé, vous pouvez supprimer ce nœud en utilisant l'attribut parentNode et la méthode removeChild() :
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write("Number of book nodes before removeChild(): "); document.write(xmlDoc.getElementsByTagName("book").length); document.write("<br>"); x=xmlDoc.getElementsByTagName("book")[0] x.parentNode.removeChild(x); document.write("Number of book nodes after removeChild(): "); document.write(xmlDoc.getElementsByTagName("book").length); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Explication des exemples :
Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc
Définissez la variable y sur Nœud d'élément supprimé souhaité
Supprimez ce nœud d'élément en utilisant l'attribut parentNode et la méthode RemoveChild()
Supprimez le nœud de texte< 🎜 La méthode >
removeChild() peut être utilisée pour supprimer des nœuds de texte :<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; document.write("Child nodes: "); document.write(x.childNodes.length); document.write("<br>"); y=x.childNodes[0]; x.removeChild(y); document.write("Child nodes: "); document.write(x.childNodes.length); </script> </body> </html>
Exécuter l'instance »Cliquez sur le bouton "Exécuter l'exemple" pour afficher des exemples en ligne
- Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc
- Définissez la variable x sur le premier nœud de l'élément de titre
- Définissez la variable y sur le nœud de texte à supprimer
- Supprimez un nœud d'élément de son nœud parent à l'aide de la méthode RemoveChild()
Effacer le nœud de texteL'attribut nodeValue peut être utilisé pour modifier ou effacer la valeur du nœud de texte :
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; document.write("Value: " + x.nodeValue); document.write("<br>"); x.nodeValue=""; document.write("Value: " + x.nodeValue); </script> </body> </html>
Exécuter l'instance»Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
- Utilisez loadXMLDoc () Chargez "books.xml" dans xmlDoc
- Définissez la variable x sur le nœud de texte du premier élément de titre
- Utilisez l'attribut nodeValue pour effacer le texte du nœud de texte
Supprimer en fonction du nom du nœud d'attributla méthoderemoveAttribute(
name) est utilisée pour supprimer les nœuds d'attribut en fonction du nom.
Exemple : removeAttribute('category')L'extrait de code suivant supprime l'attribut "category" dans le premier élément <book> :<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); document.write(x[0].getAttribute('category')); document.write("<br>"); x[0].removeAttribute('category'); document.write(x[0].getAttribute('category')); </script> </body> </html>
Exécuter l'instance»Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Explication des exemples :
Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc
Utilisez getElementsByTagName() pour obtenir book node
Supprimez l'attribut "category" du premier nœud d'élément de livre
Parcourez et supprimez le "de tous les éléments <book> Attribut "category" : essayez la méthode
Supprimer les nœuds d'attribut basés sur des objets
removeAttributeNode(node) supprime les nœuds d'attribut en utilisant l'objet nœud comme paramètre.
Exemple : removeAttributeNode(x)
L'extrait de code suivant supprime tous les attributs de tous les éléments <book> :
Exemple
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); document.write("Removed: " + old_att.nodeName) document.write(": " + old_att.nodeValue) document.write("<br>") } } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Explication de l'instance :
Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc
Utilisez getElementsByTagName() pour obtenir tous les nœuds de livre
Vérifiez chaque élément de livre si un élément de livre a des attributs
Si un attribut existe dans un élément de livre, supprimez l'attribut