2009-01-23 24 views
7

Quiero todas las celdas de cada fila, excepto la última en cada fila. Intenté:jQuery: cómo seleccionar cada celda de una tabla, excepto la última en cada fila?

$("table tr td:not(:last)") 

pero eso parece haberme dado todas las células excepto la última en la tabla. No es exactamente lo que quiero.

Estoy seguro de que esto es simple, pero todavía estoy envolviendo mi cabeza alrededor de los selectores.

+0

¿Estás seguro de que no deberías usar un '' en su lugar? entonces solo coincide con tbody-rows. – jishi

Respuesta

24

Probar:

$('table tr td:not(:last-child)') 
+0

De la documentación: Mientras: el último coincide con un solo elemento, esto coincide con más de uno: uno para cada padre. – dbrien

+0

Y el ganador por orden cronológico ... :) – cletus

3

Pruebe el selector de último hijo. Esto:

$("table tr td:not(:last-child)") 

seleccionará todas las celdas de todas las filas excepto de las celdas en la última columna.

+0

el tr es innecesario ya que por defecto jquery no busca descendientes inmediatos: para obtener solo los descendientes inmediatos, debe usar el "operador" –

7

Usted podría intentar

$("table td:not(:last-child)") 

o

$("table td:not(:nth-child(n))") 

donde n es el índice de un elemento hijo

o

$("table td").not(":last-child") 
+1

+1 para la enésima Mencion infantil. – cletus

0

fwiw encontré el original 1-basado funciona bien (tal vez una mejora ent para jQ principal desde 2009?) ...

$("#myTable thead th:not(:last)").css("border-right","1px solid white"); 

La fila de cabecera de mi tabla tiene fondo azul marino por lo que el borde blanco a la derecha hizo que la tabla de consulta snaggletoothed y no coincide con el borde de 1 píxel negro de los datos

Cuestiones relacionadas