2016-04-08 236 views
2

我試圖從另一個表中映射一行的tabledata,但我不知道如何到達那裏。jQuery dom遍歷嵌套表

我試過的東西:

$('.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

+2

您可以添加HTML結構? –

+0

嘗試父母並不是最接近 –

+0

@MikeB:不,它不會。 –

回答

2

您可以找到包含錶行是通過.parent().closest("tr")(需要.parent,否則它會與您所在的行)的行。然後你通過.prev()得到前一個。

如果你的出發點不是實際的tr而是裏面的吧,那麼.closest("tr").parent().closest("tr").prev()。舉例來說,如果你想處理一個點擊該行的單元格:

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

如果前一行並不總是你想要的,你可以通過.prevAll(".even").first()掃描.event

鏈接:

+1

'.closest('tr')。parent()。closest('tr).prev()'工作!我之前沒有真正使用過'parent()',因此不確定如何做到這一點。 – Bart