如何使用 javascript 获取表格中单元格的位置?

Jua*_*uan 4 javascript

我所说的位置是指单元格左侧有多少列以及单元格顶部有多少行。我真正需要的是两个功能:

function FindColPos(element)
{
/* find column position */
return colPos;
}

function FindRowPos(element)
{
/* find row position */
return rowPos;
}
Run Code Online (Sandbox Code Playgroud)

函数必须以这种方式编写,我无法将其他内容添加到我的文档中,例如 ID,因为我只能访问要插入 javascript 函数的文档的头部。(所有这些都是 C# 另一个项目的一部分)。传递给函数的元素将是一行中的一个单元格(元素),但如果我可以在 中传递任何元素并且函数可以识别父元素,<TD>那就更好了。我对 javascript 的了解还不够深入,无法自己弄清楚。其实我也不知道这是否可能。希望你能帮忙。<TD><TD>

Fel*_*ing 5

我不知道是否每个浏览器都支持它,但是存在TableCell具有cellIndex属性的对象和TableRow具有rowIndex属性的对象。

所以它会是:

function FindColPos(element)
{
    return element.cellIndex;
}

function FindRowPos(element)
{
    return element.parentNode.rowIndex;
}
Run Code Online (Sandbox Code Playgroud)

假设element是一个td对象。

但我还没有找到哪个浏览器支持它的信息。最新的 Safari 可以;)

更新:

这些属性甚至在 IE 5.5、FF 1.0、Safari 1.0 和 Opera 7.0 中也受支持。所以我想说使用它们非常节省,并且比迭代所有前面的元素要快得多。

sectionRowIndex您可能还对其中给出相对于 elmentstbodythead的索引感兴趣tfootrowIndex返回相对于整个表的索引。