Wie kann ich einen Verweis auf ein neu erzeugtes Element (createElement()
) behalten, das ich nach einem vorhandenen Element im DOM eingefügt habe (insertAdjacentHTML()
)?`insertAdjacentHTML` und` createElement`
In diesem Beispiel können Sie sehen, dass die Farbe nicht ändert, wenn ich elNew
/elNewInner
verwenden, nachdem insertAdjacentHTML()
:
var elOrig = document.getElementById('insertAfter');
// Create new element
var elNew = document.createElement('div'),
elNewInner = document.createElement('div');
elNewInner.textContent = 'I\'m a new element, but I\'m not red';
elNew.appendChild(elNewInner);
elOrig.insertAdjacentHTML('afterend', elNew.outerHTML);
// This doesn't change the color in the DOM
elNewInner.style.color = 'red';
<div id="insertAfter">Insert new element after me</div>
Gibt es eine Möglichkeit, um eine Referenz zu halten ein Element, nachdem ich insertAdjacentHTML
verwende oder gibt es andere Wege in JavaScript, um dasselbe zu erreichen?
Dies beantwortet nur die Hälfte der Frage _ gibt es andere Möglichkeiten, in JavaScript dasselbe zu erreichen? _. Ich bin daran interessiert, warum das nicht funktioniert – Tushar
@Tushar: Lesen Sie den letzten Satz. Es zeigt, warum der ursprüngliche Weg nicht funktioniert hat. –
Danke, das funktioniert wie erwartet. – Daniel