Usted puede unirse a la mesa, pero eso sería dejar abierta la posibilidad de que pueda hacer clic en el espacio entre las células (que no tiene una fila o índice de células). En el siguiente ejemplo, he decidido que me vincularía a las celdas mismas y, por lo tanto, me aseguraría de tener siempre un índice de filas y celdas.
var tbl = document.getElementsByTagName("table")[0];
var cls = tbl.getElementsByTagName("td");
function alertRowCell(e){
var cell = e.target || window.event.srcElement;
alert(cell.cellIndex + ' : ' + cell.parentNode.rowIndex);
}
for (var i = 0; i < cls.length; i++) {
if (cls[i].addEventListener) {
cls[i].addEventListener("click", alertRowCell, false);
} else if (cls[i].attachEvent) {
cls[i].attachEvent("onclick", alertRowCell);
}
}
Demostración: http://jsbin.com/isedel/2/edit#javascript,html
supongo que se podría unir de forma segura a la mesa en sí también, y realizar una comprobación contra el elemento de fuente para ver si se trataba de una célula o no:
var tbl = document.getElementsByTagName("table")[0];
function alertRowCell (e) {
var cell = e.target || window.event.srcElement;
if (cell.cellIndex >= 0)
alert(cell.cellIndex + ' : ' + cell.parentNode.rowIndex);
}
if (tbl.addEventListener) {
tbl.addEventListener("click", alertRowCell, false);
} else if (tbl.attachEvent) {
tbl.attachEvent("onclick", alertRowCell);
}
Demostración: http://jsbin.com/isedel/5/edit
posible duplicado de [Javascript: Obtener Cell Ubicación] (http://stackoverflow.com/questions/4998953/javascript-get-cell-location) - por favor utilice la búsqueda antes haces una nueva pregunta –
@Felix, busqué, y ninguna de las cadenas que utilicé tuvo esa pregunta. Esto debería funcionar bastante mejor para las personas que usan la búsqueda más adelante, ya que utiliza términos más comunes. –
Basado en lo que Jonathan Sampson publicó, utilicé esto. http://jsbin.com/iqavad/edit#javascript,html –