[javascript] remplacer de balises html

Fermé
lexdc - 8 sept. 2007 à 14:23
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 8 sept. 2007 à 17:15
Bonjour tout le monde :) , je me lance dans un script javascript que je ne vais pas trop décrire, mon problème n'est pas trop compliqué...
Je veux tout simplement prendre toutes la balise (<b></b>) par exemple et les remplacer par d'autre (par exemple <i></i>).

vous aller me dire utilise la fonction replace mais mon problème se complique un peu la : la balise <b></b> (pour notre exemple du dessus) peut tout aussi bien être <img src="..."> de ce fait l'utilisation de getElementsByTagName me parait le plus approprié mais je bloque un peu pour la suite.
si il vous manque des infos ou que je ne suis pas assez clair n'hésitez pas svp
A voir également:

2 réponses

j'ai pensé à un truck :
au lieu de remplacer, faire cela en deux temps :
l'ajouter de la nouvelle balise juste derriere l'encienne (ca je sais pas faire)
puis la suppression de l'encienne balise avec :

var d=document.getElementsByTagName('b')[0];
d.parentNode.removeChild(d);

(pour l'exemple ci-dessus je peux faire une boucle pour que cela s'applique à toutes les balises)
1
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
8 sept. 2007 à 17:15
Bonjour, pour ajouter une balise à la suite d'une balise courante (on va l'appeler "node") il faudrait :

- Récupérer le parent : var parent = node.parentNode;
- L'ajouter à la suite de l'ancien noeud : parent.insertBefore(tonNouveauNoeud, node);

tonNouveauNoeud étantr bien entedu le noeud que tu auras créé par la méthode document.createElement() (http://fr.selfhtml.org/javascript/objets/document.htm#create_element)

Pas testé mais normalement ça devrait fonctionner. Insérer le noeud avant ou après importe peu puisque l'ancien va être effacé de toute façon :-) )

En espérant que ça puisse t'aider.
0