0

我有一个嵌套表 3x3

<table>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td id='myCell'></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

所以,我需要让单元格靠近我的“#myCell”——在左侧、右侧、顶部、底部。

var myCell = $('#myCell')[0];
var leftCell = myCell.previousSibling;
var rightCell = myCell.nextSibling;
var topCell = $(myCell).parent()[0].previousSibling().children()[myCell.cellIndex];
var bottomCell = $(myCell).parent()[0].nextSibling().children()[myCell.cellIndex];

似乎没关系。现在我需要获得具有特定表格布局的相同单元格。

<table>
  <tr>
    <td rowspan=3></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td id='myCell'></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>

这种布局意味着我可以获得顶部、右侧、底部的单元格。

4

4 回答 4

1

you may try defining special functions for retrieving each possible sibling cell

var myCell = $('#myCell');

function getLeft() {
  return $(myCell).previousSibling();
}

function getRight() {
  return $(myCell).nextSibling();
}
// etc for top/right

and on missing cells you'll just receive null;

于 2009-09-17T10:35:43.353 回答
0

我来这个问题是为了寻找一些稍微不同的东西。也许这会有所帮助。给定下表:

<table>
  <tr>
    <td>10</td>
    <td id='selectMe'>20</td>
  </tr>
  <tr>
    <td>30</td>
    <td>40</td>
  </tr>
</table>

使用 JQuery:

$.('td#selectMe').prev('td'); //10
$.('td#selectMe').parent().next('td'); //30

希望这提供了另一种选择和见解。

于 2014-04-01T15:27:04.710 回答
0

可悲的是,在处理 colspan/rowspan 问题时,tr 和 td 是不可靠的。 SO1303106展示了一个解决方案,它构建了每行/列的矩阵并创建一些函数来帮助您查询它。 这篇文章启发了这个解决方案,并展示了这个问题。该解决方案不是 jQuery 特定的,如果有人提出更好的解决方案,我不会感到惊讶。

于 2009-09-17T12:04:41.007 回答
0

没有直接的解决方案。我使用投影矩阵来计算附近的单元格。我在GridWizard 中发布的解决方案 - HTML Table Constructor

于 2009-11-27T06:35:09.870 回答