如何使用jQuery在表中获取cell()x和y坐标?

时间:2009-11-21 13:21:11

标签: javascript jquery coordinates

我正在寻找一种在表格中获取X-Y位置的好方法。 (不要把它与css-position混淆,我在笛卡尔坐标系中寻找X和Y坐标。)

我们知道,我们可以使用ex:$('#grid')[0].rows[5].cells[7]在表格中获取特定单元格。

但是,当我点击特定单元格时,如果我想获得值5x7该怎么办,即:

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

我想,最简单的方法是在后端创建表时将innerHTML,ID或CSS类添加到每个单元格(<td class="p-5x7">等),然后解析它,然后单击返回,但是有没有纯粹基于DOM获取这些坐标的方法?

2 个答案:

答案 0 :(得分:37)

DOM Level 2 HTML cellIndex

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

答案 1 :(得分:0)

&#13;
&#13;
window.onload = function () {
  document.getElementsByTagName('table')[0].addEventListener('click', function(e) {
    alert("My position in table is: " + e.target.parentElement.rowIndex + "x " + e.target.cellIndex + "y");
  }, false);
}
&#13;
tr, td {
  padding: 0.6rem;
  border: 1px solid black
}

table:hover {
  cursor: pointer;
}
&#13;
<table id="grid">
  <tr>
    <td>0, 0</td>
    <td>0, 1</td>
    <td>0, 2</td>
  </tr>
  <tr>
    <td>1, 0</td>
    <td>1, 1</td>
    <td>1, 2</td>
  </tr>
</table>
&#13;
&#13;
&#13;