A abordagem sugerida não garante o resultado que você procura - e se você tivesse uma, tbodypor exemplo:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
Você terminaria com o seguinte:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
<tr>...</tr>
</table>
Portanto, eu recomendaria essa abordagem:
$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
Você pode incluir qualquer coisa dentro do after()método, desde que seja HTML válido, incluindo várias linhas, conforme o exemplo acima.
Atualização: Revisitando esta resposta após atividades recentes com esta pergunta. eyelidlessness faz um bom comentário que sempre haverá um tbodyno DOM; isso é verdade, mas apenas se houver pelo menos uma linha. Se você não tiver linhas, não haverá, a tbodymenos que você tenha especificado uma.
DaRKoN_ sugere anexar ao tbodyinvés de adicionar conteúdo após o último tr. Isso contorna a questão de não ter linhas, mas ainda não é à prova de balas, pois teoricamente você poderia ter vários tbodyelementos e a linha seria adicionada a cada um deles.
Pesando tudo, não tenho certeza de que exista uma única solução de uma linha que responda a todos os cenários possíveis. Você precisará garantir que o código jQuery corresponda à sua marcação.
Acho que a solução mais segura é garantir que você tablesempre inclua pelo menos uma tbodyna sua marcação, mesmo que não tenha linhas. Nesta base, você pode usar o seguinte, que funcionará no entanto, muitas linhas que você possui (e também conta para vários tbodyelementos):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');