2011-06-13 59 views
2

我有tr類firstrow和tr類稱爲addrows。 addrows類總是在firstrow類之後,我想要在每個第一遍tr之後計算addrow tr的數量。在我的例子中它應該是1和6。這是我的代碼。循環通過jQuery中的特定類的兄弟

<table id="sdx-O_BAR_added" class="roomtypeadded"> 
<tbody> 
<tr class="header"> 
</tr> 
<tr class="header"> 
</tr> 
<tr class="firstrow"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="header"> 
</tr> 
<tr class="header"> 
</tr> 
<tr class="firstrow"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="addrows"> 
</tr> 
<tr class="addrows"> 
</tr> 
</tbody> 
</table> 

我不知道如何將這個,我試圖用jQuery siblings()next()。但coud不行,請幫忙。 :(

+0

它只是您想要的實際數量,還是您希望返回一組匹配元素? – 2011-06-13 04:29:03

+0

yap。我需要重新啓動匹配的元素。謝謝 – 2011-06-13 08:27:12

回答

1

你可以嘗試$.nextAll()功能:

這會給你遵循tr.firstrow元素的所有行的總數。

如果你想獲得每個tr.firstrow的數組以下.addrows類的元素,你可能會發現jQuery的$.map()福nction更加有用:

var counts = $('table tr.firstrow').map(function(){ 
    return $(this).nextUntil(':not(.addrows)').length; 
}); 

這將返回數字數組 - 有效的小計(例如[1,6])。

0

嘗試$( 「FIRSTROW」)每() 這個函數中嘗試做$(本)。接下來()

0

這應該工作。

$("tr.firstrow").siblings("tr.addrows") 
+0

nop。我認爲這將返回所有行類加法,這是不是我想要的東西 – 2011-06-13 04:42:10