Usar desanexar é magnitudes mais rápidas do que qualquer uma das outras respostas aqui:
$('#mytable').find('tbody').detach();
Não se esqueça de colocar o elemento tbody de volta na tabela, pois a separação o removeu:
$('#mytable').append($('<tbody>'));
Observe também que, ao falar, a $(target).find(child)
sintaxe de eficiência é mais rápida do que $(target > child)
. Por quê? Chiar!
Tempo decorrido para esvaziar 3.161 linhas da tabela
Usando o método Detach () (conforme mostrado no meu exemplo acima):
- Firefox: 0.027s
- Chrome: 0.027s
- Edge: 1.73s
- IE11: 4.02s
Usando o método empty ():
- Firefox: 0.055s
- Chrome: 0.052s
- Edge: 137.99s (também pode estar congelado)
- IE11: congela e nunca retorna