我有tr类firstrow和tr类称为addrows。 addrows类始终在firstrow类之后,我想计算每个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()。但是自豪的不要做,请帮助。 :(

最佳答案

您可以尝试$.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])。

09-20 23:31