jQuery - 如何选择同一个表中两个表行之间的所有表行

epi*_*tka 4 jquery

我有一个像这样的结构的表(td省略)

<table>
<tr class="header">...</tr>
<tr class="row">...</tr>
<tr class="row">...</tr>
<tr class=="header">...</tr>
<tr class="row">...</tr>
<tr class="row">...</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

当用户单击该行时,我需要隐藏所有行,直到具有类"header"的下一行.实现这一目标的最简单方法是什么?沿着这些行查找所有具有类标题的行,在单击行的列表行索引中查找具有相同类的下一行的行索引,然后选择这两个标记中的所有行?

eKe*_*ek0 9

你可以尝试类似的东西:

$(document).ready($('table tr').click(
  function () {
    var tr = $(this).nextAll('tr');
    for (i = 0; i < tr.length; i++) {
      var class = $(tr[i]).attr('class');
      if (class == 'row')
        $(tr[i]).hide()
      else {
        if (class == 'header')
          return;
      }
    }
  }
));
Run Code Online (Sandbox Code Playgroud)