Apa perbedaan fungsional antara ketiga jQuery
metode ini:
- melepaskan()
- menyembunyikan()
- menghapus()
javascript
jquery
Vivek
sumber
sumber
detach
, lihat stackoverflow.com/questions/12058896/…Jawaban:
hide()
menyeteldisplay
properti CSS untuk elemen yang cocoknone
.remove()
menghapus elemen yang cocok dari DOM sepenuhnya.detach()
seperti ituremove()
, tetapi menyimpan data dan peristiwa yang disimpan terkait dengan elemen yang cocok.Untuk memasukkan kembali elemen yang terlepas ke DOM, cukup masukkan
jQuery
set yang dikembalikan daridetach()
:sumber
remove
sebagai penggantidetach
, contoh masih berfungsi.remove()
, dan pasang lagi, pengikatan akan hilang dan mengklik span tidak akan melakukan apa pun. Jika Anda memanggildetach()
dan memasang kembali, binding tetap ada dan click handler tetap berfungsi.Bayangkan selembar kertas di atas meja dengan beberapa catatan yang ditulis dengan pensil.
hide
-> lemparkan pakaian ke atasnyaempty
-> hapus catatan dengan penghapusdetach
-> ambil kertas di tangan Anda dan simpan di sana untuk rencana masa depan apa punremove
-> ambil kertasnya dan buang ke tempat sampahKertas mewakili elemen, dan catatan mewakili konten (node anak) dari elemen.
Sedikit disederhanakan dan tidak sepenuhnya akurat, tetapi mudah dipahami.
sumber
hide()
setel tampilan elemen yang cocok menjadi tidak ada.detach()
menghapus elemen yang cocok, termasuk semua teks dan simpul anak.Metode ini menyimpan semua data yang terkait dengan elemen sehingga dapat digunakan untuk memulihkan data elemen serta penangan kejadian.
remove()
juga menghapus elemen yang cocok, termasuk semua teks dan simpul anak.Namun, dalam hal ini hanya data elemen yang dapat dipulihkan, bukan penangan kejadiannya.
sumber
Di jQuery, ada tiga metode untuk menghapus elemen dari DOM. Ketiga metode yang
.empty()
,.remove()
, dan.detach()
. Semua metode ini digunakan untuk menghapus elemen dari DOM, tetapi semuanya berbeda..menyembunyikan()
Sembunyikan elemen yang cocok. Tanpa parameter, metode .hide () adalah cara termudah untuk menyembunyikan elemen HTML:
.kosong()
Metode .empty () menghapus semua node anak dan konten dari elemen yang dipilih. Metode ini tidak menghapus elemen itu sendiri, atau atributnya.
Catatan
Metode .empty () tidak menerima argumen apa pun untuk menghindari kebocoran memori. jQuery menghapus konstruksi lain, seperti data dan event handler, dari elemen anak sebelum menghapus elemen itu sendiri.
Contoh
Ini akan menghasilkan struktur DOM dengan teks Hai dihapus:
Jika kita memiliki sejumlah elemen bersarang di dalamnya
<div class="hai">
, mereka juga akan dihapus..menghapus()
Metode .remove () menghapus elemen yang dipilih, termasuk semua teks dan node turunan. Metode ini juga menghapus data dan peristiwa dari elemen yang dipilih.
Catatan
Gunakan .remove () bila Anda ingin menghapus elemen itu sendiri, serta semua yang ada di dalamnya. Selain itu, semua kejadian terikat dan data jQuery yang terkait dengan elemen akan dihapus.
CONTOH
Perhatikan html berikut:
Ini akan menghasilkan struktur DOM dengan
<div>
elemen yang dihapus:Jika kita memiliki sejumlah elemen bersarang di dalamnya
<div class="hai">
, mereka juga akan dihapus. Konstruksi jQuery lainnya, seperti data atau event handler, juga akan dihapus..melepaskan()
Metode .detach () menghapus elemen yang dipilih, termasuk semua teks dan simpul anak. Namun, itu menyimpan data dan peristiwa. Metode ini juga menyimpan salinan elemen yang dihapus, yang memungkinkannya untuk dimasukkan kembali di lain waktu.
Catatan
Metode .detach () berguna ketika elemen yang dihapus akan dimasukkan kembali ke DOM di lain waktu.
Contoh
Untuk info lebih lanjut, kunjungi: http://www.scriptcafe.in/2014/03/what-is-difference-between-jquery_15.html
sumber
sumber