尝试使用jquery显示/隐藏表行。前两行有效。第三行不显示所有数据。
Jfiddle:http://jsfiddle.net/vcolmenar/wG8qf/1/
表格的HTML数据 主要 数据
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
22222
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
33333
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
44444
</td>
</tr>
JavaScript for Jquery show / hide function
$(document).ready(function() {
//Hide table rows with class 'min', but appear when clicked.
$(".data").hide();
$(".main").click(function() {
$(this).parent().parent().next(".data").toggle("fast");
});
});
答案 0 :(得分:8)
tr.data {display:none;}
$(function(){
$("#main-data-table","body").on({'click':function(event){
event.preventDefault();
$(this).closest("tr.main").nextUntil("tr.main").toggle("fast");
}},
"a.main",null);
});
<table id="main-data-table">
<thead><tr>
<th>Main</th>
<th>Data</th>
</tr></thead>
<tfoot></tfoot>
<tbody>
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class="main">
<td>
<a href="#" class="main">12345</a>
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
11111
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
22222
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
33333
</td>
</tr>
<tr class = "data">
<td>
</td>
<td>
44444
</td>
</tr>
</tbody>
</table>