Menggunakan jQuery, bagaimana cara saya menghapus semua baris dalam tabel kecuali yang pertama? Ini adalah upaya pertama saya menggunakan pemilih indeks. Jika saya memahami contoh-contoh dengan benar, berikut ini akan berfungsi:
$(some table selector).remove("tr:gt(0)");
yang akan saya baca sebagai "Bungkus beberapa tabel dalam objek jQuery, lalu hapus semua elemen 'tr' (baris) di mana indeks elemen dari baris tersebut lebih besar dari nol". Pada kenyataannya, ini dijalankan tanpa menghasilkan kesalahan, tetapi tidak menghapus baris apa pun dari tabel.
Apa yang saya lewatkan, dan bagaimana cara memperbaikinya? Tentu saja, saya bisa menggunakan javascript lurus, tapi saya bersenang-senang dengan jQuery sehingga saya ingin menyelesaikan ini menggunakan jQuery.
jquery
jquery-selectors
Ken Paul
sumber
sumber
Jawaban:
Ini seharusnya bekerja:
sumber
Because :gt() is a jQuery extension and not part of the CSS specification, queries using :gt() cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method. For better performance in modern browsers, use $("your-pure-css-selector").slice(index) instead.
Saya akan merekomendasikan menggunakan $ ("# mytable> tr"). Slice (1) .remove ();Saya pikir ini lebih mudah dibaca mengingat maksudnya:
Menggunakan anak-anak juga menangani kasus di mana baris pertama berisi tabel dengan membatasi kedalaman pencarian.
Jika Anda memiliki elemen TBODY, Anda dapat melakukan ini:
Jika Anda memiliki elemen THEAD atau TFOOT, Anda harus melakukan sesuatu yang berbeda.
sumber
$('someTableSelector > tbody:last > tr:not(:first)').remove();
$("#tasks").children().remove();
Cara lain untuk mencapai ini adalah menggunakan fungsi kosong () dari jQuery dengan elemen thead dan tbody di tabel Anda.
Contoh tabel:
Dan perintah jQuery:
Ini akan menghapus setiap baris yang terdapat di elemen tbody di tabel Anda dan menyimpan elemen thead di mana tajuk Anda seharusnya. Ini bisa berguna ketika Anda hanya ingin me-refresh konten tabel.
sumber
Jika itu aku, aku mungkin akan merebusnya menjadi pemilih tunggal:
sumber
Pemilih Anda tidak perlu berada di dalam pemindahan Anda.
Seharusnya terlihat seperti:
Yang berarti memilih setiap baris kecuali yang pertama dalam tabel dengan ID dari tableID dan menghapusnya dari DOM.
sumber
Saya ingat menemukan 'irisan' lebih cepat daripada semua pendekatan lain, jadi letakkan saja di sini.
sumber
gt
sudah usang, ini adalah jawaban terbaik.Pertimbangkan tabel dengan id
tbl
: kode jQuery adalah:sumber
Untuk menghapus semua baris, kecuali yang pertama (kecuali tajuk), gunakan kode di bawah ini:
$("#dataTable tr:gt(1)").remove();
sumber
Cara termudah:
-Pertama referensi tabel-
dapatkan daftar elemen dan iris dan hapus elemen yang dipilih dari daftar
sumber
-Maaf ini jawaban yang sangat terlambat.
Cara termudah yang saya temukan untuk menghapus baris apa pun (dan semua baris lain melalui iterasi) adalah ini
$ ('# rowid', '# tableid'). hapus ();
Sisanya mudah.
sumber
sumber
terbungkus fungsi:
lalu panggil:
sumber
Ini bekerja dengan sempurna
sumber
Ini bekerja dengan cara berikut dalam kasus saya dan berfungsi dengan baik
sumber