以下内容隐藏了所有表行,不包括具有类.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>
答案 0 :(得分:1)
您是否尝试将其附加到链中:
var next = $(this).next("tr");
$course_list.find("tr").not('.accordion, .course_header').not(next).hide();