javascript - jQuery - 查找表中的最后一行和最后一行之前

标签 javascript jquery html

我有以下 html 表格:

<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>

我想做的是隐藏除第一行、最后一行和最后一行之外的所有行。这是我的做法:

$('#jTable').find('tr:gt(0):not(:last)').slideToggle();

这个 jQuery 脚本只保留第一行和最后一行。知道我必须使用 jQuery 1.7.1(所以我不能使用 nth-last-child 属性)这一事实,我一直在寻找一种方法来选择前最后一行。

最佳答案

您可以找到 lastbefore 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();

关于javascript - jQuery - 查找表中的最后一行和最后一行之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34948229/

相关文章:

javascript - 仅在没有鼠标事件时更新页面

jquery - 如何获取jstree JSON数据中的节点属性

javascript - ScrollTo 效果(href 到 div)

javascript - 滚动在 chrome 中的 svg 异物内不起作用

javascript - 我可以将整个标签存储到 sessionStorage 中吗

javascript - 使用模板文字记录多维数组

javascript - 如何删除 html 表的行?

javascript - 使用 jQuery 将变量直接传递给 $.post() 函数

javascript - 更改 jquery ui 对话标题

javascript - 如何让这个导航从右向左打开?