Heim > Artikel > Web-Frontend > Wie entferne ich DOM-Elemente in JavaScript ordnungsgemäß?
JavaScript DOM – Elemente entfernen
In JavaScript ist das Entfernen von Elementen bei der Arbeit mit dem Document Object Model (DOM) eine häufige Aufgabe. Wenn ein vorhandenes Element aus dem DOM entfernt werden muss, wird die Methode „removeChild“ verwendet.
Ein häufiges Szenario besteht darin, die Existenz eines Elements zu testen und es entweder zu löschen, wenn es vorhanden ist, oder es zu erstellen, wenn es nicht vorhanden ist. Dieser Ansatz stellt sicher, dass das Element nur erstellt wird, wenn es noch nicht vorhanden ist.
Betrachten Sie den folgenden Code:
<code class="javascript">var duskdawnkey = localStorage["duskdawnkey"]; var iframe = document.createElement("iframe"); var whereto = document.getElementById("debug"); var frameid = document.getElementById("injected_frame"); iframe.setAttribute("id", "injected_frame"); iframe.setAttribute("src", 'http://google.com'); iframe.setAttribute("width", "100%"); iframe.setAttribute("height", "400"); if (frameid) { // check and see if iframe is already on page // yes? Remove iframe iframe.removeChild(frameid.childNodes[0]); } else { // no? Inject iframe whereto.appendChild(iframe); // add the newly created element and it's content into the DOM my_div = document.getElementById("debug"); document.body.insertBefore(iframe, my_div); }</code>
Überprüfen Sie in diesem Code, ob der Iframe vorhanden ist, und erstellen Sie ihn Wenn es nicht vorhanden ist, funktioniert es wie vorgesehen. Der Versuch, den Iframe mit iframe.removeChild(frameid.childNodes[0]) zu entfernen, schlägt jedoch fehl.
Der Fehler liegt in der Verwendung von iframe.removeChild. Die Methode „removeChild“ sollte für das übergeordnete Element des zu entfernenden Elements aufgerufen werden. In diesem Fall ist das übergeordnete Element von Frameid das Body-Element. Daher ist die richtige Entfernungsmethode:
<code class="javascript">if (frameid) { frameid.parentNode.removeChild(frameid); }</code>
Das obige ist der detaillierte Inhalt vonWie entferne ich DOM-Elemente in JavaScript ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!