Je souhaite supprimer ci-dessous les éléments span
du div
(<div id='foo'>
) et ajouter les nœuds nouvellement créés à chacun d'entre eux.Suppression et ajout d'un nœud
J'utilise une boucle pour traverser tous les enfants du div
, et pour chaque nœud trouvé je le supprime avec removeChild
et j'ajoute un nœud nouvellement créé.
Je reçois o/p comme
<div id='foo'>
<SPAN>new text</SPAN>
</div>
Je veux l'o/p comme suit
<div id='foo'>
<SPAN>new text</SPAN>
<SPAN>new text</SPAN>
<SPAN>new text</SPAN>
</div>
Code pour le problème est le suivant
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<div id='foo'>
<SPAN>welcome to the world of translation.</SPAN>
<SPAN>Thank you for using it</SPAN>
<SPAN>visit again</SPAN>
</div>
<table border="0" cellspacing="5" cellpadding="0" class="lipi-header-logo-menu">
<tr>
<td align="left">
<SPAN>Hello</SPAN>
</td>
<td align="left">
World is not enough
</td>
</tr>
</table>
<div><a href="aa" id="id">this is a test</a></div>
<script>
var element = document.getElementById('foo');
seg = document.createElement('SPAN');
root_1_SPAN_1_text = document.createTextNode('new text');
seg.appendChild(root_1_SPAN_1_text);
if (element.hasChildNodes())
{
var children = element.childNodes;
for (var i = 0; i < children.length; i++)
{
if(children[i].nodeName=="#text")
{
continue;
}
element.removeChild(children[i]);
element.appendChild(seg);
};
};
</script>
</BODY>
</HTML>
Merci à l'avance