我有一个表格,点击链接应该显示属于单击行中数据的“子行”。
由于子数可能在0到n之间变化,我想我应该用.val
方法计算子数,这是对的吗?因此,值应该是具有类名“affiliated”的隐藏行的数量,直到下一个没有类名的tr
。我怎样才能做到这一点?
我做了一些尝试,但我对jQuery很新。
我想这样计算tr.affiliated的数量:
var affiliatednumber = $(this).find("tr.affiliated").val().stop();
答案 0 :(得分:8)
如果你在每个家长tr
上放一个课程,你可以像这样使用nextUntil()
:
<tbody>
<tr class="parent">
<td>John</td>
<td>HR Admin</td>
<td>10/10/1980</td>
<td>Yes</td>
<td><a class="showaffiliated" href="#">Yes</a></td>
</tr>
<tr class="affiliated">
<td colspan="2">Amanda</td>
<td colspan="3">20/20/1985</td>
</tr>
<tr class="affiliated">
<td colspan="2">Louis</td>
<td colspan="3">20/10/2010</td>
</tr>
</tbody>
$("tr.affiliated").hide();
$("a.showaffiliated").click(function() {
var $affiliated = $(this).closest(".parent").nextUntil(".parent");
$affiliated.toggle();
var affiliatednumber = $affiliated.length;
});
答案 1 :(得分:3)
您对.val
和.stop
的使用没有意义,并且您没有使用输入而是使用a
。我使用.nextUntil
,因为行将组合在一起;只需找到a
最近的父行(这是“主”行)并使用.nextUntil
查找其附属行 - 接下来直到另一个主行。如果主行有自己的类,它也会有所帮助。