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!