javascript - 隐藏/显示具有特定类的表行,直到具有不同类名的另一行?

标签 javascript jquery html css

我有要显示和隐藏的行,但只能显示到下一个第一级行。我的代码正在切换所有二级行,而不是切换到下一个一级行之前的行。

当您单击“第一级”类的行时,我希望在“第一级”的下一个实例之前切换到“第二级”类的每一行。

http://jsfiddle.net/a837tc24/

<table>
  <tbody>
    <tr class="first-level">
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
    <tr class="first-level">
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
      <td>First Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
    <tr class="second-level">
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
      <td>Second Level</td>
    </tr>
  </tbody>
</table>

js:

var firstLevel = $('.first-level')
var secondLevel = $('.second-level')

$(firstLevel).click(function() {
    $(secondLevel).nextUntil(firstLevel).toggle("slow");
});

最佳答案

您需要从点击的元素开始:

$('.first-level').click(function() {
    $(this).nextUntil('.first-level').toggle("slow");       
});

传递整个集合是行不通的,因为没有单一的引用点可以开始

DEMO

关于javascript - 隐藏/显示具有特定类的表行,直到具有不同类名的另一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027649/

相关文章:

javascript - 以编程方式生成代码笔链接 - Javascript

javascript - Div 覆盖空白区域和元素,因此看起来无法点击(Python Selenium)

javascript - JS SlideUp 和 SlideDown 无法在表格上正常工作

javascript - 将字符串中的元音变为大写并将字母更改为字母表中的下一个字母(即 a->b)的程序不起作用

javascript - Chrome扩展程序如何检测特定选项卡中的域已更改

jquery - 两张表的列高

html - 如果记录长度比列宽太长以及如何使所有列保持相同大小,如何放置点(...)

html - <p> 标签不会停留在悬停状态,即使悬停在它上面

javascript - 在 Vue js 中导入 axios 方法的正确语法

javascript - jQuery .ajax() 访问 javascript 循环中的 beforeSend 局部变量