Pendekatan yang Anda sarankan tidak dijamin untuk memberikan hasil yang Anda cari - bagaimana jika Anda memiliki tbody
contoh:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
Anda akan berakhir dengan yang berikut:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
<tr>...</tr>
</table>
Karenanya saya akan merekomendasikan pendekatan ini:
$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
Anda dapat memasukkan apa saja di dalam after()
metode selama HTML itu valid, termasuk beberapa baris seperti contoh di atas.
Pembaruan: Meninjau kembali jawaban ini mengikuti aktivitas terkini dengan pertanyaan ini. kelopak mata membuat komentar yang baik bahwa akan selalu ada tbody
dalam DOM; ini benar, tetapi hanya jika setidaknya ada satu baris. Jika Anda tidak memiliki baris, tidak akan ada tbody
kecuali Anda telah menentukan sendiri.
DaRKoN_ menyarankan untuk tbody
menambahkan daripada menambahkan konten setelah yang terakhir tr
. Ini mengatasi masalah tidak memiliki baris, tetapi masih tidak antipeluru karena Anda secara teoritis dapat memiliki beberapa tbody
elemen dan baris akan ditambahkan ke masing-masing.
Menimbang semuanya, saya tidak yakin ada solusi satu baris tunggal yang memperhitungkan setiap skenario yang mungkin. Anda perlu memastikan kode jQuery sesuai dengan markup Anda.
Saya pikir solusi teraman mungkin untuk memastikan Anda table
selalu menyertakan setidaknya satu tbody
di markup Anda, bahkan jika tidak memiliki baris. Atas dasar ini, Anda dapat menggunakan yang berikut ini yang akan berfungsi namun banyak baris yang Anda miliki (dan juga memperhitungkan beberapa tbody
elemen):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');