16

我正在寻找一种在表格中获取单元格 XY 位置的好方法。(不要将它与 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);
});

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

4

2 回答 2

44

DOM 2 级 HTML cellIndex

alert('My position in table is: '+this.cellIndex+'x'+this.parentNode.rowIndex);
于 2009-11-21T13:40:37.277 回答
0

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);
}
tr, td {
  padding: 0.6rem;
  border: 1px solid black
}

table:hover {
  cursor: pointer;
}
<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>

于 2017-11-02T15:57:20.420 回答