Bagaimana saya dapat menghapus semua baris tabel HTML kecuali yang <th>
menggunakan Javascript, dan tanpa mengulang semua baris dalam tabel? Saya memiliki tabel yang sangat besar dan saya tidak ingin membekukan UI saat saya mengulang baris untuk menghapusnya
javascript
html
html-table
K ''
sumber
sumber
removeChild
ini hanya membutuhkan satu elemen DOM.Jawaban:
Pertahankan
<th>
baris dalam a<thead>
dan baris lainnya di<tbody>
kemudian ganti<tbody>
dengan yang baru, kosong.yaitu
sumber
document.getElementById('tbody').innerHTML = '';
ini akan menghapus semua baris:
sumber
$("tbody#id tr").remove()
Sangat kasar, tetapi ini juga berhasil:
sumber
<th>
bersarang di<thead>
. Ini mungkin cara paling sintaksis untuk membangun tabel.var bodyRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];
bodyRef.innerHTML = '';
Ini adalah pertanyaan lama, namun baru-baru ini saya mengalami masalah serupa.
Saya menulis kode ini untuk menyelesaikannya:
Itu akan menghapus semua baris, kecuali yang pertama.
Bersulang!
sumber
Poin yang perlu diperhatikan, di Waspadai kesalahan umum :
Jika indeks awal Anda adalah 0 (atau beberapa indeks dari awal), maka kode yang benar adalah:
CATATAN
1. argumen untuk deleteRow telah diperbaiki.
Ini diperlukan karena saat kita menghapus baris, jumlah baris berkurang.
yaitu; pada saat saya mencapai (row.length - 1), atau bahkan sebelum baris itu telah dihapus, jadi Anda akan memiliki beberapa kesalahan / pengecualian (atau yang diam).
2. rowCount diambil sebelum perulangan for dimulai karena saat kita menghapus "table.rows.length" akan terus berubah, jadi sekali lagi Anda memiliki beberapa masalah, bahwa hanya baris ganjil atau genap saja yang dihapus.
Semoga membantu.
sumber
Dengan asumsi Anda hanya memiliki satu tabel sehingga Anda dapat mereferensikannya hanya dengan jenisnya. Jika Anda tidak ingin menghapus header:
jika tidak:
semoga membantu!
sumber
Saya perlu menghapus semua baris kecuali yang pertama dan solusi yang diposting oleh @strat tetapi itu menghasilkan pengecualian yang tidak tertangkap (merujuk Node dalam konteks yang tidak ada). Berikut ini berhasil untuk saya.
sumber
Jika Anda dapat mendeklarasikan
ID
untuk,tbody
Anda cukup menjalankan fungsi ini:sumber
ini akan bekerja penghapusan iterasi dalam tabel HTML secara native
sumber
berikan kode di bawah ini bekerja dengan baik. Ini menghapus semua baris kecuali baris header. Jadi kode ini benar-benar t
sumber
Memasukkan beberapa id ke tag tubuh. mis. Setelah ini, baris berikut harus mempertahankan header / footer tabel dan menghapus semua baris.
Dan, jika Anda ingin seluruh tabel (header / baris / footer) dihapus, maka atur id pada tingkat tabel yaitu
sumber
Jika Anda tidak ingin menghapus
th
dan hanya ingin menghapus baris di dalamnya, ini berfungsi dengan sempurna.sumber
Bagaimana dengan ini:
Saat halaman pertama kali dimuat, lakukan ini:
Kemudian ketika Anda ingin membersihkan tabel:
Hasilnya akan menjadi baris tajuk Anda jika hanya itu yang Anda mulai, kinerjanya jauh lebih cepat daripada perulangan.
sumber
Jika Anda memiliki
<th>
baris yang jauh lebih sedikit daripada non-<th>
baris, Anda dapat mengumpulkan semua<th>
baris menjadi string, menghapus seluruh tabel, dan kemudian menulis di<table>thstring</table>
mana tabel sebelumnya.EDIT: Di mana, jelas, "thstring" adalah html untuk semua baris
<th>
s.sumber
<th>
s sebagai elemen DOM, hapus HTML dalam tabel, lalu tambahkan<th>
s ke dalamnya lagi.Ini bekerja di IE tanpa harus mendeklarasikan var untuk tabel dan akan menghapus semua baris:
sumber
ini adalah kode sederhana yang baru saja saya tulis untuk menyelesaikannya, tanpa menghapus baris header (yang pertama).
Semoga berhasil untuk Anda !!.
sumber
Tetapkan id atau kelas untuk tbody Anda.
Anda dapat memberi nama id atau kelas sesuai keinginan Anda, tidak harus
#tbodyId
atau.tbodyClass
.sumber
Bersihkan saja badan meja.
sumber
const table = document.querySelector ('table'); table.innerHTML === ''? null: table.innerHTML = ''; javascript di atas berfungsi dengan baik untuk saya. Ia memeriksa untuk melihat apakah tabel berisi data apa pun dan kemudian membersihkan semuanya termasuk header.
sumber