如何在表中找到下一个直接下载的单元格

how to find next directly download cell within a table

本文关键字:下载 单元格 下一个      更新时间:2023-09-26

我有一个带有colspan行的表,例如

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table border=1 id="mytable" > 
  <tr><td>A1</td> <td> A2 </td> <td> A3 </td><td>A4</td><td>A5</td> <td>A6</td> <td>A7</td> <td>A8</td>  </tr>
  <tr><td>B1</td> <td colspan=3 >B2-B4</td>             <td>B5</td> <td>B6</td> <td>B7</td> <td>B8</td> </tr> 
  <tr><td>C1</td> <td> C2 </td> <td colspan=3> C3 -C5</td>          <td>C6</td> <td>C7</td> <td>C8</td></tr>
  <tr><td>D1</td> <td colspan=2 rowspan=2> D2- E3 </td><td>D4</td> <td>D5</td> <td>D6</td> <td>D7</td> <td>D8</td></tr>
  <tr><td>E1</td>                                      <td>E4</td> <td>E5</td> <td>E6</td> <td>E7</td> <td>E8</td></tr>
  <tr><td>F1</td> <td> F2 </td> <td> F3 </td><td>F4</td><td>F5</td> <td>F6</td> <td>F7</td> <td>F8</td>  </tr>
  </table>
现在我在某个牢房
如何获得下一个直接下行单元格。(这是针对按键按下操作时的ui交互响应。)例如。如果我现在在A2小区,我想得到B2-B4,如果我现在在A3小区,我想得到B2-B4,如果我现在在小区B2-B4,我想得到C2,如果我现在在B5细胞,我想得到C3-C5,如果我现在在A3小区,我想得到B2-B4,如果我现在在小区C3-C5,如果我现在在小区D2-E3,在javascript代码中如何获得这种下一个单元格。

试试这个Fiddle

JS代码:

var valueStr = 'C2';
var tdObj = $("td:contains('"+valueStr+"')");
var trObj = tdObj.closest('tr');
var tdIndex = trObj.find(tdObj).index();
var reqTD = trObj.next().find('td:eq('+tdIndex+')');
alert(reqTD.html());

JS Fiddle这是我现在尝试的,不是所有的测试用例都完成了。仍在进行

$("#mytable").on('click', 'td', function () {
    var self = $(this);
    var dt = self.html();
    $("#aData1").html("You clicked @ block = " + dt);
    var x = self.index();
    var y = self.parent().next().find("td:eq(" + x + ")").html();
    $("#aData2").html("Next block is : " + y);
});