jQuery dom遍历嵌套表

时间:2016-04-08 14:03:01

标签: jquery traversal

我试图从另一张表中映射一行的tabledata,但我不确定如何到达那里。

我尝试过这样的事情:

$('.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的样子,以及从哪里到我需要去的地方。

enter image description here

1 个答案:

答案 0 :(得分:2)

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

如果您的起点不是实际的tr,而是内的,那么.closest("tr").parent().closest("tr").prev()。例如,如果要处理该行中单元格的单击:

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

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

链接: