11
votes

Supprimer tous les nœuds d'enfants

Comment supprimer tous les nœuds enfants de

Utilisation de dojo ou javascript ordinaire?

2 commentaires

5 Réponses :


6
votes
document.getElementById('yourDivID').innerHTML="";

4 commentaires

Cependant, potentiellement dangereux. Cela ne fonctionnera pas avec des tables dans IE


Non, vous n'êtes pas correctement testé avec IE, je suis capable de supprimer tous les nœuds enfants de la DIV.


Je soupçonne que vous n'avez pas testé cela complètement. Comme indiqué par la propre documentation de Microsoft sur MSDN : " En raison de la structure spécifique requise par les tableaux, les propriétés Innertext et innerhtml des objets de table et TR sont en lecture seule. Pour insérer des lignes et des cellules, modifier le contenu et les attributs de la table, ou Redimensionnez les éléments de table, vous devez utiliser le DOM. »En d'autres termes, à compter sur el.innerhtml =" " peut être dangereux si vous ne le comprenez pas complètement.


Depuis Internet Explorer 9, vous pouvez utiliser la propriété W3C Dom TextContent travaillant avec tous les grands navigateurs.



9
votes

ici est ce dont vous avez besoin:

dojo.empty ("quelqueid");


0 commentaires

32
votes

S'il est tentant d'utiliser el.innerhtml = "", et généralement cela fonctionne, une approche plus correcte serait la suivante: xxx

la raison en est parce que c'est-à-dire la manipulation de table avec innerhtml (ceci est documenté quelque part dans MSDN).

EDIT: trouvé la référence MSDN: http://msdn.microsoft.com/en-us/library/ms532998%28v=vs.85%29.aspx#tom_create


1 commentaires

Je suis d'accord, nettoyé un peu



15
votes

dojo.empty (noeud) supprimera tous les enfants du nœud, tout en gardant le nœud.

dojo.destroy (noeud) supprimera tous les enfants du nœud, puis supprime également le nœud de son parent.


1 commentaires

AMD - Importer dojo / dom-construct comme Domconstruct puis appelle Domconstruct.empty (noeud) et Domconstruct.destroy (noeud).



0
votes

Vous pouvez utiliser le texte de la propriété DOM W3C DOM comme remplacement de Microsoft non standard innerhtml / innocente, fait partie de la DOM3 et prise en charge par tous les grands navigateurs, y compris Internet Explorer depuis la version 9 http://www.w3schools.com/jsref/prop_node_textcontent.asp

mise à jour: innerhtml / innertext fait maintenant partie de la norme HTML5


0 commentaires