Harus pergi ke simpul orangtua tampaknya agak aneh bagi saya, apakah ada alasan JavaScript berfungsi seperti ini?
Nama fungsinya adalah removeChild()
, dan bagaimana mungkin menghapus anak ketika tidak ada orang tua? :)
Di sisi lain, Anda tidak harus selalu menyebutnya seperti yang Anda tunjukkan. element.parentNode
hanya penolong untuk mendapatkan simpul induk dari simpul yang diberikan. Jika Anda sudah tahu simpul induk, Anda bisa menggunakannya seperti ini:
Ex:
// Removing a specified element when knowing its parent node
var d = document.getElementById("top");
var d_nested = document.getElementById("nested");
var throwawayNode = d.removeChild(d_nested);
https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild
================================================== =======
Untuk menambahkan sesuatu yang lebih:
Beberapa jawaban menunjukkan bahwa alih-alih menggunakan parentNode.removeChild(child);
, Anda dapat menggunakan elem.remove();
. Tapi seperti yang saya perhatikan, ada perbedaan antara dua fungsi, dan tidak disebutkan dalam jawaban itu.
Jika Anda menggunakan removeChild()
, itu akan mengembalikan referensi ke node yang dihapus.
var removedChild = element.parentNode.removeChild(element);
console.log(removedChild); //will print the removed child.
Tetapi jika Anda menggunakan elem.remove();
, itu tidak akan mengembalikan Anda referensi.
var el = document.getElementById('Example');
var removedChild = el.remove(); //undefined
https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove
Perilaku ini dapat diamati di Chrome dan FF. Saya percaya ini layak diperhatikan :)
Semoga jawaban saya menambah nilai pada pertanyaan dan akan sangat membantu !!