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?
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 + ')')
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.
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