¿Cómo asigno un estilo a cada primera celda de cada fila en una tabla?Seleccione el primer TD en cada fila con jQuery
$("#myTable tr td:first").addClass("black");
¿Cómo asigno un estilo a cada primera celda de cada fila en una tabla?Seleccione el primer TD en cada fila con jQuery
$("#myTable tr td:first").addClass("black");
Utilice la clase :first-child
seudo en lugar de :first
.
$("#myTable tr td:first-child").addClass("black");
La clase de pseudo realidad :first
selecciona el primer elemento que fue devuelto en su lista. Por ejemplo, $('div span:first')
devolvería solo el primer tramo bajo el primer div que se devolvió.
La clase pseudo class :first-child
selecciona el primer elemento bajo un elemento principal en particular, pero devuelve tantos elementos como primeros elementos secundarios. Por ejemplo, $('table tr td:first-child')
devuelve la primera celda de cada fila.
Cuando usó :first
, devolvió solo la primera celda de la primera fila que se seleccionó.
Para obtener más información, consulte la documentación de jQuery:
así:
$("#myTable tr").each(function(){
$(this).find('td:eq(0)').addClass("black");
});
que estaba muy cerca, creo que todo lo que necesita es :first-child
en lugar de :first
, así que algo como esto:
$("#myTable tr td:first-child").addClass("black");
Probar:
$("#myTable td:first-child").addClass("black");
te estás perdiendo el tru – bevacqua
Sí. : o) Oopsie. Lo dejaré así en caso de que alguien quiera tener la primera celda de cualquier mesa negra. – stefgosselin
$("#myTable tr").find("td:first").addClass("black");
Esto es menos eficiente que usar ': first-child' porque tiene el mismo resultado pero se engancha en un bucle. Sin embargo, sigue siendo un buen uso del método 'find'. –
@Justin tienes razón, no sabía del selector de primer hijo trabajando así. – bevacqua
First-child no ayuda cuando se coloca un TD después de un TH, y está tratando de encontrar el TD. En ese caso, jq no le devolverá el TD, porque no es el primer hijo de la fila, y entonces: primero es útil. – neoswf
Este método es un poco menos eficiente porque está utilizando un bucle, un 'encontrar', y crear una función, mientras que al usar la pseudoclase': first-child', no está agregando mucho procesamiento que no estaba en uso en su código original . Sin embargo, sigue siendo una buena alternativa. –
@Justin Satyr, ¿qué crees que está usando jQuery? Una varita mágica? – Teneff
No, soy consciente de que detrás de las escenas jQuery usa todas esas cosas, pero (a) esperaría que el uso de un solo selector sea más rápido que el uso de un solo selector Y una instrucción 'find', y (b) es al menos más eficiente en términos de cantidad de código para usar un solo selector. –