【问题标题】:How to get TD from next row with same index as current TD如何从与当前 TD 具有相同索引的下一行获取 TD
【发布时间】:2015-06-11 12:47:35
【问题描述】:

我有一个大型 HTML 表格,其中正文的所有行都具有相同的结构。

在此表中,有可编辑的 TD(具有“editable”类且包含可内容编辑的 div)和不可编辑的 TD(不具有“editable”类且不包含 div )。

现在我尝试从与当前(最接近的)TD 具有相同索引的下一行获取 TD

下面的代码为我提供了当前 TD 在其行中的正确索引(并且仅查看可编辑的 TD)。

有人可以告诉我如何获得下一行的等效 TD 吗?

我的 jQuery:

$(document).keydown(function(e) {
    var current = $(e.target);
    var editables = $(current).closest('tr').find('td.editable');
    var count = editables.length;
    alert( editables.index($(current).closest('td')) ); // for testing
    // ...
});

我正在寻找类似以下内容的而不是警报:

$(current).closest('tr').next('tr').find( /* the td with class editable AND the index matching the above */ );

示例:
如果我目前在一行中的第 4 个可编辑 TD,那么我需要下一行中的第 4 个可编辑 TD。

【问题讨论】:

  • 你听说过.eq吗?这是你需要的方法。
  • 由于current是jQuery的对象,你可以用current.closest()代替$(current).closest()
  • @Regent:谢谢你 - 会试试的。 :)

标签: javascript jquery


【解决方案1】:

尝试使用:eq() 喜欢

$(document).keydown(function(e){
    var current = $(e.target);
    var editables = current.closest('tr').find('td.editable');
    var count = editables.length;
    var index = editables.index(current.closest('td')); 
    current.closest('tr').next('tr').find('td:eq('+index+')');
});

如上所述,您可以使用current 代替$(current)

【讨论】:

  • 非常感谢,Ammar - 这行得通!对所有的东西还是陌生的,所以我有时不得不发布一些简单的问题。我会尽快接受。 :)
  • @keewee279,我们是所有的学习者。继续努力:)
猜你喜欢
  • 1970-01-01
  • 2017-01-30
  • 2017-12-19
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多