首页
学习
活动
专区
圈层
工具
发布

切换<TR>
EN

Stack Overflow用户
提问于 2012-08-08 08:48:49
回答 2查看 138关注 0票数 0

我正在尝试隐藏所属的行。例如,如果单击“副标题1”,则只会隐藏项目1、项目2和项目3行。

示例:

代码语言:javascript
复制
<table border="1">
 <tbody>
  <tr class="head">
   <td> title </td>
  </tr>
  <tr class="sub-title">
     <td>Sub Title 1</td>
  </tr>
   <tr> <td>Item 1</td> </tr>
   <tr> <td>Item 2</td> </tr>
   <tr> <td>Item 3</td> </tr>
   <tr class="sub-title">
     <td>Sub Title 2</td>
   </tr>
   <tr> <td>Item 4</td> </tr>
   <tr> <td>Item 5</td> </tr>
   <tr> <td>Item 6</td> </tr>
  </tbody>
</table>

-

代码语言:javascript
复制
$('.sub-title').click( function() {
    $(this).parent().nextUntil('.sub-title').toggle();
})

它似乎不工作..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-08 09:15:33

nextUntil为同级选择,而不是子项。从您的呼叫中删除"parent“。

对其进行了编辑,以回答有关根据类排除某些行的进一步问题。显然,您也可以接受Kolink关于防止toggle的"display: block“覆盖默认的"display: table-row”的响应,但只要您在所有支持的浏览器中进行测试,我就不认为使用toggle有任何问题。

代码语言:javascript
复制
$('.sub-title').click( function() {
   $(this).nextUntil('.sub-title').each(function() {
        if (!$(this).hasClass('order')) 
            $(this).toggle();
    });
});
票数 1
EN

Stack Overflow用户

发布于 2012-08-08 09:13:42

您必须手动切换:

代码语言:javascript
复制
$(".sub-title").on("click",function() {
    $(this).nextUntil(".sub-title").each(function() {
        this.style.display = this.style.display == "none" ? "" : "none";
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11856170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档