web-dev-qa-db-fra.com

Obtenir td par index avec jQuery

Je sais comment obtenir l'index de ligne et de colonne d'une cellule avec jQuery, mais je ne peux pas comprendre l'inverse. Étant donné un index de ligne et de colonne, comment pourrais-je accéder au td à cet emplacement?

32
user686605

Avec JavaScript simple:

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

Référence: HTMLTableElement , HTMLTableRowElement


Avec jQuery, vous pouvez utiliser .eq() :

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

Que diriez-vous d'utiliser le nth-child sélecteur?

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 + ')');

Notez que l'index enfant est basé sur 1, plutôt que sur la base 0 la plus courante.

9
Richard Everett

Vous pouvez utiliser le :eq sélecteur:

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

Voici un exemple de ceci en action

0
Rob