Pendekatan yang Anda sarankan tidak dijamin untuk memberikan hasil yang Anda cari - bagaimana jika Anda memiliki tbodycontoh:
<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 tbodydalam DOM; ini benar, tetapi hanya jika setidaknya ada satu baris. Jika Anda tidak memiliki baris, tidak akan ada tbodykecuali Anda telah menentukan sendiri.
DaRKoN_ menyarankan untuk tbodymenambahkan daripada menambahkan konten setelah yang terakhir tr. Ini mengatasi masalah tidak memiliki baris, tetapi masih tidak antipeluru karena Anda secara teoritis dapat memiliki beberapa tbodyelemen 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 tableselalu menyertakan setidaknya satu tbodydi 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 tbodyelemen):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');