首页 > web前端 > css教程 > 如何使用 jQuery 展开/折叠表行?

如何使用 jQuery 展开/折叠表行?

Patricia Arquette
发布: 2024-11-03 07:54:03
原创
781 人浏览过

How to Expand/Collapse Table Rows with jQuery?

使用 jQuery 展开/折叠表格行

根据标题点击展开和折叠表格行是网页设计中的常见要求。在本文中,我们将探索如何使用 jQuery 来实现此目的。

给定以下表结构:

<code class="html"><table>
  <tr>
    <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
</table></code>
登录后复制

我们可以通过为每个标题行分配一个唯一的类来完成此任务。单击标题时,我们可以使用 nextUntil 方法选择其下方的所有行,直到下一个标题。这使我们能够根据单击的标题仅折叠或展开相关行。

这里有一个简单的 jQuery 代码片段来实现此行为:

<code class="js">$('.header').click(function(){
    $(this).nextUntil('tr.header').slideToggle(1000);
});</code>
登录后复制

在此代码中,我们将单击事件附加到具有标头类的所有元素。单击标题时,它会查找下一个标题之前的所有后续行,并使用 slipToggle 切换其可见性。

替代方法

另一个选项是使用切换方法而不是 slipToggle,它提供更简单的实现:

<code class="js">$('.header').click(function () {
    $(this).toggleClass('expand');
    $(this).nextUntil('tr.header').toggle();
});</code>
登录后复制

这里,我们在单击的标题上切换展开类,并使用切换来切换所有后续行的显示。

最后,CSS 伪元素也可以是用于更直观地表示展开/折叠状态:

<code class="css">.header .sign:after {
  content: "+";
  display: inline-block;
}

.header.expand .sign:after {
  content: "-";
}</code>
登录后复制
<code class="js">$('.header').click(function () {
    $(this).toggleClass('expand');
    $(this).nextUntil('tr.header').slideToggle(100);
});</code>
登录后复制

在此版本中,expand 类还将 CSS 伪元素显示的符号从加号更改为减号,提供行状态的视觉指示。

以上是如何使用 jQuery 展开/折叠表行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板