Respuestas:
Puede usar la función Core / index en un contexto dado, por ejemplo, puede verificar el índice del TD en su TR principal para obtener el número de columna, y puede verificar el índice TR en la Tabla, para obtener el número de fila:
$('td').click(function(){
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
alert('Row: ' + row + ', Column: ' + col);
});
Mira un ejemplo en ejecución aquí .
ROWSPAN's
jsbin.com/eyeyu/1099/edit#preview Haga clic en la celda con el texto "12" . El índice de la columna debe ser 4
var row = $(this).closest('tr').index()
$('td').click(function() {
var myCol = $(this).index();
var $tr = $(this).closest('tr');
var myRow = $tr.index();
});
Obtenga el ÍNDICE DE COLUMNA al hacer clic:
$(this).closest("td").index();
Obtenga el ÍNDICE DE LA FILA al hacer clic:
$(this).closest("tr").index();
Fuera de mi cabeza, una forma sería tomar todos los elementos anteriores y contarlos.
$('td').click(function(){
var colIndex = $(this).prevAll().length;
var rowIndex = $(this).parent('tr').prevAll().length;
});
¿Puede generar esos datos en las celdas mientras crea la tabla?
entonces su mesa se vería así:
<table>
<thead>...</thead>
<tbody>
<tr><td data-row='1' data-column='1'>value</td>
<td data-row='1' data-column='2'>value</td>
<td data-row='1' data-column='3'>value</td></tr>
<tbody>
</table>
entonces sería una cuestión simple
$("td").click(function(event) {
var row = $(this).attr("data-row");
var col = $(this).attr("data-col");
}
es mejor vincular un controlador de clics a toda la tabla y luego usar event.target para obtener el TD cliqueado. Eso es todo lo que puedo agregar a esto, ya que son las 1:20 a.m.