繁体   English   中英

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

[英]jQuery - Find the last and before last row in a table

我有以下 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 属性)这一事实,我正在寻找一种方法来选择前最后一行。

您可以使用eq()函数找到lastbefore last last before last tr如下所示。

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();

将这些带入一个函数并尝试。

 $(document).ready(function(){ $('#jTable tr:first').slidetoggle() $('#jTable tr:last').slidetoggle() $('#jTable tr:last').prev().slidetoggle() })

您不需要使用find()

 $(document).ready(function(){ $("#jTable tr").not($("#jTable tr:first")).not($("#jTable tr:last").prev()).slideToggle(); });
 <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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM