L'approccio che suggerisci non è garantito per darti il risultato che stai cercando - e se avessi un tbodyesempio:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
Si finirebbe con il seguente:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
<tr>...</tr>
</table>
Raccomanderei quindi questo approccio invece:
$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
Puoi includere qualsiasi cosa all'interno del after()metodo purché sia un codice HTML valido, incluse più righe come nell'esempio sopra.
Aggiornamento: rivisitare questa risposta a seguito di attività recenti con questa domanda. la mancanza di palpebre fa un buon commento sul fatto che ci sarà sempre un tbodynel DOM; questo è vero, ma solo se c'è almeno una riga. Se non hai righe, non ci sarà a tbodymeno che tu non ne abbia specificato uno tu stesso.
DaRKoN_ suggerisce di aggiungere al tbodypiuttosto che aggiungere contenuti dopo l'ultimo tr. Ciò aggira il problema di non avere righe, ma non è ancora a prova di proiettile poiché in teoria potresti avere più tbodyelementi e la riga verrebbe aggiunta a ciascuno di essi.
Valutando tutto, non sono sicuro che esista un'unica soluzione a una riga che rappresenti ogni singolo scenario possibile. Dovrai assicurarti che il codice jQuery corrisponda al tuo markup.
Penso che la soluzione più sicura sia probabilmente quella di tableincluderne sempre almeno uno tbodynel markup, anche se non ha righe. Su questa base, puoi utilizzare quanto segue che funzionerà indipendentemente dal numero di righe che hai (e anche tenere conto di più tbodyelementi):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');