【问题标题】:jquery :gt() inclusivejquery :gt() 包括在内
【发布时间】:2011-03-07 05:01:10
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:

    一种选择是使用slice()

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

    【讨论】:

    • $('#'+tbodyId).find('tr') 比 $('#'+tbodyId + ' > tr') 好吗?我的表格单元格可能包含表格,这就是我需要“>”的原因。你的方式不是得到所有的孩子吗?
    • @Timothy,我更喜欢它,因为它更容易阅读(在我看来)。但是,如果您有嵌套表,那么您是对的——您必须在选择器 中使用 >,也许是 children()
    【解决方案2】:

    我想你想要切片功能:

    How to select a range of elements in jQuery

    【讨论】:

      【解决方案3】:

      使用下面的方式..(只是我建议的一种方式)你可以根据你的需要进行操作

      $(".someClass").filter(":eq("+ N + "), :gt(" + N + ")")"
      

      【讨论】:

        【解决方案4】:

        暗中刺伤:

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

        【讨论】:

          猜你喜欢
          • 2012-12-04
          • 1970-01-01
          • 1970-01-01
          • 2014-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-11
          相关资源
          最近更新 更多