¿Cómo puedo eliminar todas las filas de una tabla HTML, excepto las que <th>
utilizan Javascript, y sin recorrer todas las filas de la tabla? Tengo una tabla muy grande y no quiero congelar la interfaz de usuario mientras recorro las filas para eliminarlas.
javascript
html
html-table
K ''
fuente
fuente
removeChild
toma solo un elemento DOM.Respuestas:
Mantenga la
<th>
fila en ay<thead>
las otras filas en a y<tbody>
luego reemplace<tbody>
por una nueva y vacía.es decir
fuente
document.getElementById('tbody').innerHTML = '';
esto eliminará todas las filas:
fuente
$("tbody#id tr").remove()
Muy crudo, pero esto también funciona:
fuente
<th>
anidados en un<thead>
. Esta es probablemente la forma sintácticamente más correcta de construir la tabla de todos modos.var bodyRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];
bodyRef.innerHTML = '';
Esta es una pregunta antigua, sin embargo, recientemente tuve un problema similar.
Escribí este código para resolverlo:
Eso eliminará todas las filas, excepto la primera.
¡Salud!
fuente
Puntos a tener en cuenta, en el Cuidado con los errores comunes :
Si su índice de inicio es 0 (o algún índice desde el comienzo), entonces, el código correcto es:
NOTAS
1. El argumento para deleteRow es fijo,
esto es necesario ya que a medida que eliminamos una fila, el número de filas disminuye.
es decir; en el momento en que alcance (rows.length - 1), o incluso antes de que esa fila ya se haya eliminado, por lo que tendrá algún error / excepción (o uno silencioso).
2. el rowCount se toma antes de que comience el ciclo for ya que a medida que eliminamos "table.rows.length" seguirá cambiando, así que nuevamente tiene un problema, que solo las filas pares o impares solo se eliminan.
Espero que ayude.
fuente
Suponiendo que solo tiene una tabla para que pueda hacer referencia a ella solo con el tipo. Si no desea eliminar los encabezados:
de otra manera:
¡Espero eso ayude!
fuente
Necesitaba eliminar todas las filas excepto la primera y la solución publicada por @strat, pero eso resultó en una excepción no detectada (haciendo referencia al Nodo en el contexto donde no existe). Lo siguiente funcionó para mí.
fuente
Si puede declarar un
ID
fortbody
, simplemente puede ejecutar esta función:fuente
esto funcionaría la eliminación de iteraciones en la tabla HTML en nativo
fuente
el siguiente código funciona muy bien. Elimina todas las filas excepto la fila de encabezado. Entonces este código realmente t
fuente
Assing alguna identificación a la etiqueta tbody. es decir Después de esto, la siguiente línea debe conservar el encabezado / pie de página de la tabla y eliminar todas las filas.
Y, si desea que se borre toda la tabla (encabezado / filas / pie de página), establezca la identificación al nivel de la tabla, es decir
fuente
Si no desea eliminar
th
y solo desea eliminar las filas internas, esto está funcionando perfectamente.fuente
Qué tal esto:
Cuando la página se cargue por primera vez, haga esto:
Luego, cuando quieras limpiar la mesa:
El resultado será su (s) fila (s) de encabezado si eso es todo con lo que comenzó, el rendimiento es dramáticamente más rápido que el bucle.
fuente
Si tiene muchas menos
<th>
filas que no<th>
filas, puede reunir todas las<th>
filas en una cadena, eliminar la tabla completa y luego escribir<table>thstring</table>
donde solía estar la tabla.EDITAR: Donde, obviamente, "thstring" es el html para todas las filas de
<th>
s.fuente
<th>
s como elementos DOM, borre el HTML interno de la tabla y luego agregue los<th>
s nuevamente.Esto funciona en IE sin siquiera tener que declarar una var para la tabla y eliminará todas las filas:
fuente
este es un código simple que acabo de escribir para resolver esto, sin eliminar la fila del encabezado (la primera).
¡¡Espero que funcione para ti!!.
fuente
Asigne una identificación o una clase para su tbody.
Puede nombrar su identificación o clase como desee, no necesariamente
#tbodyId
o.tbodyClass
.fuente
Limpia el cuerpo de la mesa.
fuente
tabla constante = document.querySelector ('tabla'); table.innerHTML === ''? nulo: table.innerHTML = ''; el javascript anterior funcionó bien para mí. Comprueba si la tabla contiene datos y luego borra todo, incluido el encabezado.
fuente