我有一个嵌套的表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];

似乎没关系。 现在我需要使用specefic表布局获得相同的单元格。

<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>

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

有帮助吗?

解决方案 3

没有直接的解决方案。我用投影矩阵来计算近细胞。 我的解决方案发布在 GridWizard - HTML表格构造函数

其他提示

您可以尝试定义用于检索每个可能的兄弟单元格的特殊函数

var myCell = $('#myCell');

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

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

并且在丢失的单元格上,您将收到null;

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

我提出这个问题寻找一些略有不同的东西。也许这会有所帮助。鉴于下表:

<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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top