Ich möchte ein Element im DOM ersetzen.
Zum Beispiel gibt es ein <a>
Element, das ich <span>
stattdessen durch ein ersetzen möchte .
Wie würde ich das machen?
javascript
dom
Oh mein Gott
quelle
quelle
target.replaceWith(element);
ist der moderne (ES5 +) Weg, dies zu tunAntworten:
mit replaceChild () :
quelle
a ist das ersetzte A-Element.
quelle
A.replaceWith(span)
- Kein Elternteil benötigtGenerisches Formular:
Viel besser / sauberer als die vorherige Methode.
Für Ihren Anwendungsfall:
Mozilla Docs
Unterstützte Browser - 94% Apr 2020
quelle
Diese Frage ist sehr alt, aber ich habe für eine Microsoft-Zertifizierung studiert, und im Studienbuch wurde vorgeschlagen, Folgendes zu verwenden:
Ich habe es nachgeschlagen und es scheint nur im IE unterstützt zu werden. Doh ..
Ich dachte, ich würde es hier nur als lustige Randnotiz hinzufügen;)
quelle
Ich hatte ein ähnliches Problem und fand diesen Thread. Ersetzen funktionierte bei mir nicht und es war schwierig für meine Situation, an den Eltern vorbeizukommen. Inner Html ersetzte die Kinder, was ich auch nicht wollte. Mit OuterHTML wurde die Arbeit erledigt. Hoffe das hilft jemand anderem!
quelle
Sie können einen Knoten mit ersetzen
Node.replaceWith(newNode)
.In diesem Beispiel sollten alle Attribute und untergeordneten Elemente vom Ursprungsknoten ferngehalten werden:
quelle
Beispiel zum Ersetzen von LI-Elementen
quelle
Angesichts der bereits vorgeschlagenen Optionen die einfachste Lösung, ohne einen Elternteil zu finden:
quelle