【问题标题】:jQuery dom traversal nested tablesjQuery dom 遍历嵌套表
【发布时间】:2016-07-29 20:08:30
【问题描述】:

我正在尝试从另一个表中映射一行的表数据,但我不确定如何到达那里。

我尝试过这样的事情:

$('.order_info .active').closest('tr').prev('tr').children('td').map(function(){
        return $(this).text();
    }).get();

$(this).find('.order_info .active').closest('tr').prev('tr').children('td').map(function(){
            return $(this).text();
    }).get();

但没有运气。

这就是 DOM 的样子,以及我需要从哪里到哪里去。

【问题讨论】:

  • 可以添加html结构吗?
  • 试试父母而不是最亲的
  • @MikeB:不,不会。
  • $(this).closest(".order_info").prev()

标签: jquery traversal


【解决方案1】:

您可以通过.parent().closest("tr") 找到包含该行所在表的行(需要.parent,否则它将与您所在的行匹配)。然后你通过.prev()得到上一个。

如果你的出发点不是实际的tr,而是它内部的东西,那么.closest("tr").parent().closest("tr").prev()。例如,如果您想处理对该行中某个单元格的点击:

$(this).closest("tr").parent().closest("tr").prev();

如果上一行不是您想要的,您可以通过.prevAll(".even").first() 扫描.event

链接:

【讨论】:

  • .closest('tr').parent().closest('tr).prev() 工作!我之前没有真正使用过parent(),所以不知道该怎么做。
猜你喜欢
  • 2015-05-16
  • 2011-05-15
  • 1970-01-01
  • 2015-11-24
  • 2011-04-10
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
相关资源
最近更新 更多