2011-03-18 38 views
0

我有這樣的HTML:如何最好地使用JQuery來遍歷錶行?

<tr> 
    <td><a class="payPlan">...</a></td> 
    </tr> 
    <tr id="payPlanInfoRow"> 
    <td colspan="7" class="payPlanInfo"> 
      <div>...</div> 
     </td> 
    </tr> 

當我點擊.payPlan我需要遍歷到DIV內.payPlanInfo

這個問題是這個html結構會重複多次,所以我認爲我需要以某種方式使用.find().closest()。任何幫助將不勝感激。

我是很新的jQuery的

回答

0

「最接近的」選擇返回第一個祖先元素其選擇器匹配。

$(".payPlan").click(function(){ 

    var $relatedDiv = $(this).closest('tr').next().find(".payPlanInfo div:first"); 
    $relatedDiv.addClass('highlight'); //or whatever. 

}); 
+0

@彼得J,謝謝你的完美! – 2011-03-22 09:10:37

0
$("td.payPlanInfo > div").each(function(i, obj){ 



}); 

編輯:

$("td.payPlanInfo").bind('click', function() 
{ 
    $(this).children("div").each(function(i, obj) 
    { 
     // obj is your div, to what you like with it 
    }); 

}); 
+0

我該如何實現a.payPlan的點擊功能? – 2011-03-18 16:56:46

+0

這完全沒有回答他的問題。他需要爲鏈接的每次點擊獲取相關的div。你應該編輯你的答案 – JohnP 2011-03-18 16:58:09

2

你可以做這樣的事情..

$(".payPlan").click(function(){ 
    var relatedDiv = $(this).parents("tr:first").next().find(".payPlanInfo div:first"); 
    //TODO: Stuff with relatedDiv 
}); 

relatedDiv隨後將是div在下一個表格行,你可以做任何你需要的東西。

http://jsfiddle.net/Pv76W/

+0

你需要另一個父母()。 '.payplan'是鏈接而不是TD – JohnP 2011-03-18 16:56:51

+0

@JohnP是的,你是對的,糾正了我的錯誤,應該使用jsfiddle。 – 2011-03-18 16:58:43