L'approccio che suggerisci non è garantito per darti il risultato che stai cercando - e se avessi un tbody
esempio:
<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 tbody
nel DOM; questo è vero, ma solo se c'è almeno una riga. Se non hai righe, non ci sarà a tbody
meno che tu non ne abbia specificato uno tu stesso.
DaRKoN_ suggerisce di aggiungere al tbody
piuttosto 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ù tbody
elementi 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 table
includerne sempre almeno uno tbody
nel 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ù tbody
elementi):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');