在jquery中循环使用具有特定类的兄弟

时间:2011-06-13 04:19:17

标签: php jquery zend-framework

我有tr类firstrow和tr类叫做addrows。 addrows类总是在第一个类之后,我想计算每个firstrow tr之后的addrow tr的数量。在我的例子中它应该是1和6。这是我的代码。

<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()。但是请不要这样做,请帮忙。 :(

3 个答案:

答案 0 :(得分:1)

您可以尝试$.nextAll()功能:

$('table tr.firstrow').nextAll('tr.addrows').length;

这将为您提供tr.firstrow元素后面所有行的总计数。

如果你想得到每个tr.firstrow以下.addrows类元素的数组,你可能会发现jQuery的$.map()函数更有用:

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

这将返回一个数字数组 - 实际上是小计(例如[1,6])。

答案 1 :(得分:0)

尝试$(“firstrow”)。each() 在这个函数里面尝试做$(this).next()

答案 2 :(得分:0)

这应该有效。

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