【发布时间】:2014-08-17 22:14:26
【问题描述】:
以下隐藏所有表行,不包括类.accordion 或.course_header 的行。
$('#course_list').find("tr").not('.accordion, .course_header').hide();
如何排除$(this).next("tr") 表格行?假设this 是刚刚被点击的tr。
详细信息
我正在使用this solution 制作具有手风琴效果的桌子。使用原样的解决方案,如果我单击一行,它的子项将保持展开状态。请注意,当您单击一行 in the jsfiddle 时,它会正确展开子项,但我希望它在再次单击同一行时关闭子项。
我目前拥有的:
var $course_list = $('#course_list');
$course_list.find("tr").not('.accordion, .course_header').hide();
$course_list.find("tr").eq(0).show();
$course_list.find(".accordion").click(function(){
$course_list.find("tr").not('.accordion, .course_header').hide();
$(this).next("tr").fadeToggle('fast');
});
这是表格布局:
<table id="course_list">
<thead>
<tr class="course_header">
<th>Date</th>
<th>Presenter</th>
<th>Title</th>
</tr>
</thead>
<tbody>
<tr class="accordion">
<td>09.26.14</td>
<td>Arthur Dent</td>
<td>Example Course</td>
</tr>
<tr>
<td colspan="4">
COURSE DETAILS GO HERE
</td>
</tr>
<tr class="accordion">
<td>09.30.14</td>
<td>Winston Smith</td>
<td>Another Example</td>
</tr>
<tr>
<td colspan="4">
COURSE DETAILS GO HERE
</td>
</tr>
</tbody>
</table>
【问题讨论】: