Önerdiğiniz yaklaşımın size aradığınız sonucu vereceği garanti edilmez - ya da tbody
örneğin:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
Aşağıdakilerle sonuçlanırsınız:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
<tr>...</tr>
</table>
Bu nedenle bu yaklaşımı tavsiye ederim:
$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
after()
Yukarıdaki örneğe göre birden çok satır da dahil olmak üzere , yöntem içinde geçerli HTML olduğu sürece herhangi bir şey ekleyebilirsiniz .
Güncelleme: Bu sorudaki son etkinliklerin ardından bu cevabı tekrar ziyaret etmek göz kapaksızlığı, DOM'da her zaman bir olacağına dair iyi bir yorum yapar tbody
; bu doğrudur, ancak sadece en az bir satır varsa. Hiç satırınız yoksa, tbody
kendiniz belirtmedikçe hayır olmaz .
DaRKoN_ , sonuncudan tbody
sonra içerik eklemek yerine eklenmesini önerirtr
. Bu, satır olmaması sorununu çözer, ancak teorik olarak çoklutbody
öğeye ve satır her birine ekleneceği için .
Her şeyi tartarak, olası her senaryoyu açıklayan tek bir tek satırlık çözüm olduğundan emin değilim. JQuery kodunun işaretlemenizle uyumlu olduğundan emin olmanız gerekir.
Bence en güvenli çözüm, hiç satır içermese bile, işaretlemenize table
her zaman en az bir tane eklemenizi sağlamaktır tbody
. Bu temelde, sahip olduğunuz birçok satıra (ve ayrıca birden çok tbody
öğeyi hesaba katarak ) sahip olacak olan aşağıdakileri kullanabilirsiniz :
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');