Heim > Web-Frontend > js-Tutorial > Hauptteil

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

Barbara Streisand
Freigeben: 2024-10-31 20:38:29
Original
816 Leute haben es durchsucht

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>
Nach dem Login kopieren

Ü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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage