Pensé que esta podría ser una forma rápida de eliminar el contenido de una tabla muy grande (3000 filas):
$jq("tbody", myTable).remove();
Pero tarda unos cinco segundos en completarse en Firefox. ¿Estoy haciendo algo tonto (además de intentar cargar 3000 filas en un navegador)? ¿Hay una forma más rápida de hacerlo?
javascript
jquery
dom
códigos morgan
fuente
fuente
$('#mytable tbody').empty();
. Esto asegura que solo se vacíe el tbody.Es mejor evitar cualquier tipo de bucles, simplemente elimine todos los elementos directamente así:
fuente
html("")
llamadasempty()
internasEl uso de separar es magnitudes más rápido que cualquiera de las otras respuestas aquí:
No olvides volver a colocar el elemento tbody en la mesa ya que detach lo eliminó:
También tenga en cuenta que al hablar la
$(target).find(child)
sintaxis de eficiencia es más rápida que$(target > child)
. ¿Por qué? ¡Chisporrotear!Tiempo transcurrido para vaciar 3161 filas de tablas
Usando el método Detach () (como se muestra en mi ejemplo anterior):
Usando el método vacío ():
fuente
No tocará los encabezados.
fuente
Dos problemas que puedo ver aquí:
Los métodos empty () y remove () de jQuery en realidad hacen bastante trabajo. Consulte Perfiles de llamadas a funciones JavaScript de John Resig para conocer el motivo.
La otra cosa es que para grandes cantidades de datos tabulares, podría considerar una biblioteca de cuadrículas de datos como las excelentes DataTables para cargar sus datos sobre la marcha desde el servidor, aumentando el número de llamadas de red, pero disminuyendo el tamaño de esas llamadas. Tenía una tabla muy complicada con 1500 filas que se volvió bastante lenta, el cambio a la nueva tabla basada en AJAX hizo que estos mismos datos parecieran bastante rápidos.
fuente
si desea eliminar solo rápido ... puede hacer lo siguiente ...
pero, puede haber algunos elementos vinculados a eventos en la tabla,
en ese caso,
El código anterior no evita la pérdida de memoria en IE ... TT y no es rápido en FF ...
lo siento....
fuente
esto funciona para mi:
fuente
Podrías probar esto ...
fuente