2011-05-26 14 views
27

Sé cómo obtener el índice de fila y columna de una celda con jQuery, pero no puedo entender lo contrario. Dado un índice de fila y columna, ¿cómo accedería al td en esta ubicación?Obteniendo td por índice con jQuery

Respuesta

62

con JavaScript claro:

// table is a reference to your table 
table.rows[rowIndex].cells[columnIndex] 

Referencia:HTMLTableElement, HTMLTableRowElement


con jQuery, podría utilizar .eq():

$('#table tr').eq(rowIndex).find('td').eq(columnIndex) 
// or 
$('#table tr:eq(' + rowIndex + ') td:eq(' + columnIndex + ')') 
+0

Gracias, más fácil de lo esperado. –

+1

¿Qué le parece? Acceso simple a la propiedad, ni una sola llamada de función a la vista. :-) – RobG

+1

¿Qué es esto? ¿Una respuesta de JavaScript sin un '$' a la vista? +1! – Matt

0

Puede utilizar el :eq selector:

var row = 1; 
var col = 2; 
var cell = $('table tr:eq(' + row + ') td:eq(' + col + ')'); 

He aquí un example of this in action

9

Cómo sobre el uso del selector nth-child?

http://api.jquery.com/nth-child-selector/

var row = 4; 
var col = 2 

var cell = $('table#tableId tr:nth-child(' + row + ') td:nth-child(' + col + ')'); 

Tenga en cuenta que el índice se basa niño-1, en lugar de la base 0 más habitual.

+1

Esta es la respuesta jQuery perfecta y perfectamente críptica. Es el que yo usé Una línea y estás listo para irte! – Kong