Heim  >  Artikel  >  Web-Frontend  >  Wie entferne ich DOM-Elemente in JavaScript ordnungsgemäß?

Wie entferne ich DOM-Elemente in JavaScript ordnungsgemäß?

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 20:38:29744Durchsuche

How to Properly Remove DOM Elements in JavaScript?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Cluster-StreudiagrammNächster Artikel:Cluster-Streudiagramm