Tengo una tabla que se parece a:jquery seleccionar todos los elementos excepto el último por grupo
<table>
<tr>
<td>one</td><td>two</td><td>three</td><td>last</td>
</tr>
<tr>
<td>blue</td><td>red</td><td>green</td><td>last</td>
</tr>
<tr>
<td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>last</td>
</tr>
</table>
Lo que yo quiero es un selector de jQuery que elegirá todos excepto el último td
de cada fila de la tabla. Probé:
$("tr td:not(:last)").css("background-color","red");
//changing color just as a test...
Pero en lugar de todas las células, pero el último en cada fila cambiado, todas las células, pero el último de ellos en la tabla se seleccionan. Del mismo modo, si lo cambio a:
$("tr td:last").css("background-color","red");
el único que cambia es la última celda. ¿Cómo elijo el último (o no último) de cada fila?
No estoy seguro de que esto funcionará en mi caso, pero tal vez usted me puede decir con seguridad. Simplifiqué mi html por el bien de la pregunta, pero cada td tiene otros elementos adentro, como entradas y etiquetas. ¿Buscará el 'último hijo' también descendientes, o solo los niños de primer nivel? – Anthony
Solo el td, ya que no hay espacio en el selector significa que los operadores ':' se aplican a ese mismo elemento, en este caso el '
Gracias @Nick! ¡Esto aclaró una gran parte de la funcionalidad de jQuery que estoy escribiendo! – dennismonsewicz
se traduce en: para cada elemento en el selector de
$('tr')
, hacer unfind()
para todos lostd
s que no duran.Nuevo resultado es aproximadamente
td
s ahora, por lo que puede aplicar.css()
según lo deseado.Fuente
2010-03-08 12:20:49
Cuestiones relacionadas