Saya pikir ini mungkin cara cepat untuk menghapus isi tabel yang sangat besar (3000 baris):
$jq("tbody", myTable).remove();
Tapi butuh sekitar lima detik untuk menyelesaikannya di firefox. Apakah saya melakukan sesuatu yang bodoh (selain mencoba memuat 3000 baris ke dalam browser)? Apakah ada cara yang lebih cepat untuk melakukannya?
javascript
jquery
dom
kamar mayat
sumber
sumber
$('#mytable tbody').empty();
. Ini memastikan bahwa hanya tbody yang dikosongkan.Lebih baik hindari jenis loop apa pun, cukup hapus semua elemen secara langsung seperti ini:
sumber
html("")
panggilanempty()
internalMenggunakan detach jauh lebih cepat daripada jawaban lain di sini:
Jangan lupa untuk mengembalikan elemen tbody ke dalam tabel karena melepaskannya:
Juga perhatikan bahwa ketika berbicara
$(target).find(child)
sintaks efisiensi lebih cepat dari$(target > child)
. Mengapa? Mendesis!Waktu yang Berlalu untuk Mengosongkan 3.161 Baris Tabel
Menggunakan metode Detach () (seperti yang ditunjukkan dalam contoh saya di atas):
Menggunakan metode empty ():
sumber
Ini tidak akan menyentuh header.
sumber
Dua masalah yang saya lihat di sini:
Metode empty () dan remove () dari jQuery sebenarnya melakukan cukup banyak pekerjaan. Lihat Profil Panggilan Fungsi JavaScript John Resig untuk mengetahui alasannya.
Hal lainnya adalah bahwa untuk data tabular dalam jumlah besar Anda mungkin mempertimbangkan pustaka datagrid seperti DataTables yang sangat baik untuk memuat data Anda dengan cepat dari server, meningkatkan jumlah panggilan jaringan, tetapi mengurangi ukuran panggilan tersebut. Saya memiliki tabel yang sangat rumit dengan 1500 baris yang menjadi sangat lambat, mengubah ke tabel berbasis AJAX baru membuat data yang sama ini tampak agak cepat.
sumber
jika Anda ingin menghapus hanya dengan cepat .. Anda dapat melakukan seperti di bawah ini ..
tetapi, mungkin ada beberapa elemen yang terikat peristiwa di tabel,
dalam hal itu,
kode di atas tidak mencegah kebocoran memori di IE ... TT dan tidak cepat di FF ...
Maaf....
sumber
ini berhasil untuk saya:
sumber
Anda bisa mencoba ini ...
sumber