Je cherche à remplacer un élément dans le DOM.
Par exemple, il y a un <a>
élément que je souhaite remplacer par un <span>
.
Comment pourrais-je y aller et faire ça?
javascript
dom
OMG
la source
la source
target.replaceWith(element);
est la façon moderne (ES5 +) de le faireRéponses:
en utilisant replaceChild () :
la source
a est l'élément A remplacé.
la source
A.replaceWith(span)
- Aucun parent nécessaireForme générique:
Bien mieux / plus propre que la méthode précédente.
Pour votre cas d'utilisation:
Documents Mozilla
Navigateurs pris en charge - 94% avril 2020
la source
Cette question est très ancienne, mais je me suis retrouvé à étudier pour une certification Microsoft, et dans le livre d'étude, il a été suggéré d'utiliser:
Je l'ai recherché et il semble être uniquement pris en charge dans IE. Doh ..
Je pensais que je l'ajouterais juste ici comme une note amusante;)
la source
J'ai eu un problème similaire et j'ai trouvé ce fil. Remplacer n'a pas fonctionné pour moi, et passer par le parent était difficile pour ma situation. Inner Html a remplacé les enfants, ce qui n'était pas non plus ce que je voulais. L'utilisation de externalHTML a fait le travail. J'espère que ceci aide quelqu'un d'autre!
la source
Vous pouvez remplacer un
HTML Element
ou enNode
utilisantNode.replaceWith(newNode)
.Cet exemple doit conserver tous les attributs et fils du nœud d'origine:
Si vous avez ces éléments:
Après avoir exécuté les codes ci-dessus, vous vous retrouverez avec ces éléments:
la source
Exemple de remplacement d'éléments LI
la source
Compte tenu des options déjà proposées, la solution la plus simple sans trouver de parent:
la source