我有以下html表:
x.domain(d3.extent(d3.merge(ary), function(d) {
return parseDate.parse(d[0]);
}));
我尝试做的是隐藏除第一行,最后一行和最后一行之外的所有行。以下是我的工作方式:
{{1}}
这个jQuery脚本只保留第一行和最后一行。知道我必须使用jQuery 1.7.1(所以我不能使用nth-last-child属性),我一直在寻找一种方法来选择前一行。
答案 0 :(得分:2)
您可以使用last
功能找到before last
和tr
eq()
,如下所示。
var len = $('#jTable tr').length;
var first_row = $('#jTable tr').eq(0);
var last_row = $('#jTable tr').eq(len - 1);
var before_last_row = $('#jTable tr').eq(len - 2);
<强>更新强>
$('#jTable tr').not(first_row).not(last_row).not(before_last_row).slideToggle();
答案 1 :(得分:0)
将这些带入函数并尝试。
$(document).ready(function(){
$('#jTable tr:first').slidetoggle()
$('#jTable tr:last').slidetoggle()
$('#jTable tr:last').prev().slidetoggle()
})
&#13;
答案 2 :(得分:0)
您无需使用find()
$(document).ready(function(){
$("#jTable tr").not($("#jTable tr:first")).not($("#jTable tr:last").prev()).slideToggle();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="jTable">
<tr>
<td>No</td>
<td>Competition</td>
<td>John</td>
<td>Adam</td>
<td>Robert</td>
<td>Paul</td>
</tr> <tr>
<td>1</td>
<td>Swimming</td>
<td>1:30</td>
<td>2:05</td>
<td>1:15</td>
<td>1:41</td>
</tr> <tr>
<td>2</td>
<td>Running</td>
<td>15:30</td>
<td>14:10</td>
<td>15:45</td>
<td>16:00</td>
</tr> <tr>
<td>3</td>
<td>Shooting</td>
<td>70%</td>
<td>55%</td>
<td>90%</td>
<td>88%</td>
</tr> <tr>
<td>Total</td>
<td>Blablabla</td>
<td>1000</td>
<td>1000</td>
<td>1000</td>
<td>1000</td> </tr>
</table>
&#13;