How to get cells (<td>) x and y coordinate in table using jQuery?

rochal picture rochal · Nov 21, 2009 · Viewed 16.9k times · Source

I'm looking for a good way to get cells X-Y position in a table. (do not confuse it with css-position, I am looking for X and Y coordinate in Cartesian coordinate system).

As we know, we can get particular cell in a table using ex: $('#grid')[0].rows[5].cells[7].

But, what if I want to get the value 5x7 when I click on particular cell, i.e:

$('#grid td').click(function(){
   alert("My position in table is: " + myPosition.X + "x" + myPosition.Y);
});

I guess, the easiest way is to add innerHTML, ID or CSS class to every cell (<td class="p-5x7"> etc.) when creating table in back end, then parse it, and return on click, but is there any way to get these coordinates based purely on DOM?

Answer

bobince picture bobince · Nov 21, 2009

DOM Level 2 HTML cellIndex:

alert('My position in table is: '+this.cellIndex+'x'+this.parentNode.rowIndex);