2011-10-05 80 views
5

Estoy tratando de agregar una clase a la última celda de cada fila de una tabla ... esto no funciona ... solo aplica el estilo correcto al último elemento en la primera fila (superior) ...usando jquery para encontrar todas las td en una tabla por posición de columna

//the last cell in every row all have border right 
       var lastIndex = getLastVisibleIndex(); 
       var rows = $("table.scrollable tr"); 
       rows.each(function() { 
        $("td:eq(" + lastIndex + ")").addClass(rightStyle) 
       }); 
+0

Es imposible decirle qué está mal sin saber qué hay en getLastVisibleIndex y su marcado. –

Respuesta

2

He utilizado el nth-child ...

$("table.scrollable td:nth-child(" + lastIndex + ")").addClass(rightStyle); 

Algunas buenas soluciones alternativas aquí, sin embargo.

1

Cuando busca tds, debe buscar solo dentro de la fila actual. Ver la adición de este :

  rows.each(function() { 
       $("td:eq(" + lastIndex + ")", this).addClass(rightStyle) 
      }); 
0

También es posible que sus filas de la tabla no todos tienen lastIndex células. Pruebe esto para una mayor fiabilidad:

rows.each(function() { 
    $(this).children("td").last().addClass(rightStyle) 
}); 
0
$("table.scrollable tr").each(function() { 
        $(this).children("td").eq(lastIndex).addClass(rightStyle); 
       }); 
13

hacerlo todo en una sola línea ...

$('table tr td:last-child').addClass(rightStyle); 

// Targeting a particular column as pointed out by FiveTools 
// Note that :nth-child(n) is 1-indexed 
$('table tr td:nth-child(3)').addClass('highlight'); 

http://jsfiddle.net/cobblers/hWqBU/

+0

El td (columna) que necesito puede no ser la última columna ... – FiveTools

+0

¡Impresionante! jquery Rox. –

+2

'nth-child' no funciona para los casos en los que hay filas. –

0

que hacen lo mismo que lo está haciendo, pero establecer el ancho de columna de la última td

// SET FIRST AND LAST TD SIZE 
$("tr").each(function() { 
    $(this).children("td:last").attr("width", 200); 
}); 
Cuestiones relacionadas