使用jquery:gt动态显示n隐藏表行

时间:2013-05-03 12:22:27

标签: javascript jquery

我想知道如何以包容的方式使用jQuery的:gt()。我试图动态显示/隐藏表行。

$('#' + tbodyId + ' > tr:gt(' + newRowStart + '):lt(' + rowsToShow + ')').show();

如果我尝试显示前5行,请newRowStart = 0rowsToShow = 5。这不会显示第一行。将其设置为-1也不起作用。如果有像:gt()这样的包容性方法,那将会非常有用。有谁知道怎么做?

2 个答案:

答案 0 :(得分:4)

我只想使用.slice [docs]

$('#' + tbodyId + ' > tr').slice(newRowStart, newRowStart + rowsToShow).show();
// or if rowsToShow is an index actually:
$('#' + tbodyId + ' > tr').slice(newRowStart, rowsToShow).show();

它也更容易阅读。

  

如果有像:gt()

这样的包容性方法,那将非常有用

不是我知道的。如果要包含给定索引中的所有元素,则必须使用:gt(index-1)或完全省略:gt,如果索引为0。

答案 1 :(得分:2)

一种选择是使用slice():

$('#'+tbodyId)
  .find('tr')
  .slice( newRowStart, newRowStart + rowsToShow ) // inclusive of starting point
  .show();