Maison > interface Web > js tutoriel > le corps du texte

Méthode Javascript RemoveChild() pour supprimer des nœuds et supprimer les compétences enfants nodes_javascript

WBOY
Libérer: 2016-05-16 15:23:08
original
2327 Les gens l'ont consulté

Ce qui suit vous présentera comment supprimer des nœuds à l'aide de Javascript RemoveChild(). Les détails spécifiques sont les suivants :

En Javascript, il n'existe qu'une seule méthode pour supprimer des nœuds : RemoveChild().

La méthode

removeChild() est utilisée pour supprimer un nœud enfant du nœud parent.

Grammaire :

parent.removeChild(thisNode)

Description du paramètre :

参数 说明
thisNode 当前节点,即要删除的节点
parent 当前节点的父节点,即 thisNode.parentNode

Par exemple, l'instruction pour supprimer le nœud avec id="demo" est :

var thisNode=document.getElementById("demo");
thisNode.parentNode.removeNode(thisNode);
Copier après la connexion

Par exemple, supprimez le nœud :

<div id="demo">
  <div id="thisNode">点击删除我</div>
</div>
<script type="text/javascript">
document.getElementById("thisNode").onclick=function(){
  this.parentNode.removeChild(this);
}
</script>
Copier après la connexion

Exemple de démonstration :

On peut voir que bien que Javascript ne fournisse qu'une seule méthode pour supprimer des nœuds, elle suffit.

ps : méthode JavaScript pour supprimer les nœuds enfants

Le code HTML est le suivant :

<div id="f"> 
 <div>a</div> 
 <div>b</div> 
 <div>c</div> 
</div> 
Copier après la connexion

Si vous souhaitez supprimer tous les nœuds enfants sous le nœud f, la méthode naturelle et normale qui vous vient à l'esprit devrait être le code suivant :

var f = document.getElementById("f"); 
var childs = f.childNodes; 
for(var i = 0; i < childs.length; i++) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
} 
Copier après la connexion

Lors de l'exécution du programme, nous avons constaté que, que ce soit sous FireFox ou IE, tous les nœuds enfants ne pouvaient pas être complètement supprimés (la zone vide était également supprimée dans FireFox
en tant que nœud, donc le résultat de la suppression du nœud sera différent), en effet, lorsque vous supprimez le nœud enfant d'index 0, il est naturel que l'index d'origine
A ce moment, l'index du nœud qui est 1 devient 0, et à ce moment la variable i est devenue 1. Lorsque le programme continue, il supprimera le nœud avec l'index d'origine de 2 et maintenant il est 1. Dans ce cas De cette manière, le résultat de l'exécution du programme est que seul le nœud est supprimé. Pour la moitié des nœuds enfants, le résultat du parcours en utilisant for in est le même. Vous voulez supprimer tous les nœuds normalement
Si c'est le cas, il faudrait supprimer de l'arrière vers l'avant, le code est le suivant :

for(var i = childs.length - 1; i >= 0; i--) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
} 
Copier après la connexion

Nous commençons à supprimer à partir de la valeur maximale de l'index, en utilisant la méthode décroissante, afin que l'index ne bouge pas ou ne change pas.

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!