Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengalih keluar Elemen DOM dalam JavaScript dengan betul?

Bagaimana untuk mengalih keluar Elemen DOM dalam JavaScript dengan betul?

Barbara Streisand
Barbara Streisandasal
2024-10-31 20:38:29744semak imbas

How to Properly Remove DOM Elements in JavaScript?

JavaScript DOM - Mengalih Keluar Elemen

Dalam JavaScript, apabila bekerja dengan Model Objek Dokumen (DOM), mengalih keluar elemen ialah tugas biasa. Apabila elemen sedia ada perlu dialih keluar daripada DOM, kaedah removeChild digunakan.

Satu senario biasa ialah menguji kewujudan elemen dan sama ada memadamkannya jika ada atau menciptanya jika tiada. Pendekatan ini memastikan bahawa elemen hanya dicipta jika ia belum wujud.

Pertimbangkan kod berikut:

<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>

Dalam kod ini, semak kewujudan iframe dan cipta ia jika tidak hadir berfungsi seperti yang dimaksudkan. Walau bagaimanapun, percubaan untuk mengalih keluar iframe menggunakan iframe.removeChild(frameid.childNodes[0]) gagal.

Ralat terletak pada penggunaan iframe.removeChild. Kaedah removeChild hendaklah dipanggil pada induk elemen yang sedang dialih keluar. Dalam kes ini, induk frameid ialah elemen badan. Oleh itu, kaedah penyingkiran yang betul ialah:

<code class="javascript">if (frameid) {
  frameid.parentNode.removeChild(frameid);
}</code>

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Elemen DOM dalam JavaScript dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Carta Taburan BerkelompokArtikel seterusnya:Carta Taburan Berkelompok