Remplacement du contenu d'une balise par un autre avec Javascript DOM

WRInaute occasionnel
Remplacement du contenu d'une balise par un autre avec Javas

Bonsoir à tous,

Je me tourne à nouveau vers vous et vers votre connaissance infinie de la programmation web pour résoudre un tou piti problème que je rencontre.

Pour faire bref :

J'ai le code suivant :

Code:
<div id="test">Bozo le clown</div>
Et je cherche à remplacer le contenu de cette balise par un autre en javascript. Dans ce cas précis, je n'ai aucun problème en utilisant replaceChild() avec un truc du genre :

Code:
var noeud_texte = document.createTextNode("Bozo le célèbre clown !");
 document.getElementById("test").replaceChild(noeud_texte, document.getElementById("test").firstChild);
Bon maintenant si ma balise est du genre :

Code:
<div id="test">Bozo le plus <i>grand</i> des clowns</div>
Le code précédent ne me permet que de remplacer la portion "Bozo le plus " parce que ça fait partie du firstChild. Or je veux remplacer tout le contenu de la balise avec les balises html qu'elle contient.

Comment faire ? :roll:
Merci de m'apporter vos lumières.
 
WRInaute occasionnel
Soit ! Mon exemple était mal choisi, en fait je ne veux pas remplacer le contenu de ma balise par un autre texte mais par un autre objet de type textarea, pour par la suite le remplir avec le contenu du texte que j'ai remplacé mais cela je sais faire et ça marche avec Ajax. Le soucis est toujours le même, j'ai mon textarea qui ne remplace qu'une parti du texte à cause de ces balises...

J'ai donc mon objet :

Code:
var input = null;
input = document.createElement("textarea");

je passe sur la manière dont j'accède au contenu de la balise et le remplissage du textarea...
Je me retrouve donc toujours avec :

Code:
document.getElementById("test").replaceChild(input, document.getElementById("test").firstChild);

Mon textarea est sencé remplacer tout le contenu de la balise mais ne remplace que le premier fils. Dans ce cas précis, innerHTML ne fonctionne pas d'après ce que j'ai pu en voir alors comment faire ?
 
Discussions similaires
Haut