使用 jQuery 滑动切换一组表行

2023-11-22

我对 javaScript 和 jQuery 相当陌生,所以希望这将是一个快速修复。我需要显示一个包含可分为多个类别的数据的表格,并且我想实现一个隐藏/显示每个给定类别中的所有观察结果的幻灯片切换。

下面的代码(理想情况下)应显示一个 4 列 9 行的表格,每组 3 行前面有一个绿色的“Section i”行。我希望每个节标题都作为幻灯片切换来展开或折叠其下方的所有行。现在,什么都没有崩溃。有什么想法吗?

<head>
  <style type="text/css">
    td{padding:5px;}
  </style>

  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript"> 
      $(document).ready(function(){
      $(".flip").click(function(){
          $(this).next(".section").slideToggle();
      });
  });
  </script>

</head>

<body>
    <p>
        <table id="main_table">
        <thead>
            <tr class="firstline">
                <th>Column1</th>
                <th>Column2</th>
                <th>Column3</th>
                <th>Column4</th>
            </tr>
        </thead>
        <tbody>
            <tr style="background-color:green; color:white"> 
                <td  colspan="4" class="flip"> Section 1 </td> 
            </tr>
            <div class="section">
            <tr>
                <td>item 111</td>
                <td>item 112</td>
                <td>item 113</td>
                <td>item 114</td>
            </tr>
            <tr>
                <td>item 121</td>
                <td>item 122</td>
                <td>item 123</td>
                <td>item 124</td>
            </tr>
            <tr>
                <td>item 131</td>
                <td>item 132</td>
                <td>item 133</td>
                <td>item 134</td>
            </tr>
            </div>
            <tr style="background-color:green; color:white"> 
                <td  colspan="4" class="flip"> Section 2 </td> 
            </tr>
            <div class="section">
            <tr>
                <td>item 211</td>
                <td>item 212</td>
                <td>item 213</td>
                <td>item 214</td>
            </tr>
            <tr>
                <td>item 221</td>
                <td>item 222</td>
                <td>item 223</td>
                <td>item 224</td>
            </tr>
            <tr>
                <td>item 231</td>
                <td>item 232</td>
                <td>item 233</td>
                <td>item 234</td>
            </tr>
            </div>
            <tr style="background-color:green; color:white"> 
                <td  colspan="4" class="flip"> Section 3 </td> 
            </tr>
            <div class="section">
            <tr>
                <td>item 311</td>
                <td>item 312</td>
                <td>item 313</td>
                <td>item 314</td>
            </tr>
            <tr>
                <td>item 321</td>
                <td>item 322</td>
                <td>item 323</td>
                <td>item 324</td>
            </tr>
            <tr>
                <td>item 331</td>
                <td>item 332</td>
                <td>item 333</td>
                <td>item 334</td>
            </tr>
            </div>
        </tbody>
        </table>
    </p>
</body>

你不能混合<div>变成一个<table>像这样,使用额外的<tbody>元素代替。在你的回调中,this is the <td>没有兄弟姐妹的元素,所以.next没有做任何有用的事情;你想要返回,直到到达与之前深度相同的地方.section您感兴趣,然后致电.next从那里。

您的 HTML 应该看起来更像这样:

<table id="main_table">
    <thead>
        <tr class="firstline">
            <th>Column1</th>
            <th>Column2</th>
            <th>Column3</th>
            <th>Column4</th>
        </tr>
    </thead>
    <tbody>
        <tr style="background-color:green; color:white">
            <td  colspan="4" class="flip"> Section 1 </td>
        </tr>
    </tbody>
    <tbody class="section">
        <tr>
            <td>item 111</td>
            <td>item 112</td>
            <td>item 113</td>
            <td>item 114</td>
        </tr>
        <!-- ... -->

你的点击处理程序如下所示:

$('.flip').click(function() {
    $(this)
        .closest('tbody')
        .next('.section')
        .toggle('fast');
});

The .closest调用会追溯到你的祖先,直到找到一个<tbody>然后你打电话.next关于这一点。

更新了jsfiddle:http://jsfiddle.net/ambiguously/Udxyb/4/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery 滑动切换一组表行 的相关文章

  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 防止垃圾邮件按钮呼叫功能

    如何防止调用函数时出现垃圾邮件按钮 就像用户只能在按钮上每 1 秒调用一次该函数 有办法做到吗 因为我尝试了 setTimeout 但没有成功 它仍然在发送垃圾邮件 顺便说一句 我使用 Jquery 这是我的代码
  • 通过 JavaScript 获取表单名称

    我有一个简单的问题 但我在网上找不到好的解决方案 我有这个 HTML 代码
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对

随机推荐

  • 带有圆角的数据网格模板

    I m creating DataGrid template with rounded corners but I faced with this problem 底角超出边界范围 怎么解决这个问题呢 我读过这篇文章 http diptim
  • 操纵可变参数的标准方法?

    这是一个奇怪的问题 但是有没有一种标准方法来操纵 a 的内容va list在将其传递给另一个函数之前 例如 假设我有两个函数 sum and vsum int vsum int n va list ap int total 0 for in
  • 从后台任务或服务确定当前前台应用程序

    我希望有一个在后台运行的应用程序 它知道任何内置应用程序 消息 联系人等 何时运行 所以我的问题是 我应该如何在后台运行我的应用程序 我的后台应用程序如何知道当前在前台运行的应用程序是什么 如果有经验人士的回复 我们将不胜感激 关于 2 我
  • 如何从阵列列表中添加多个音轨

    我想为单个音轨添加多个音轨video与此类似的文件https codepen io eabangalore pen NZjrNd 他们正在使用自己的jsvideojs 我有要切换的音轨列表 var usersAudioTrackList h
  • 为什么提交和签出后文件夹会留在我的本地 git 工作目录中

    我创建了一个文件夹 其中包含本地工作 git 结构中的文件 我使用 git checkout b 创建了一个新分支并使用了 git add 和 git commit m 将这些文件添加到我的本地分支 但是 当我执行 git checkout
  • 我们可以使用 AWS Glue 将文件从一个 S3 文件夹复制到另一个 S3 文件夹吗?

    我需要将压缩文件从一个 AWS S3 文件夹复制到另一个文件夹 并希望将其作为计划的 AWS Glue 作业 我找不到这样一个简单任务的例子 如果您知道答案请帮忙 答案可能就在 AWS Lambda 或其他 AWS 工具中 非常感谢 您可以
  • 声明二维数组

    我有几项大学作业遇到了麻烦 确实 我只是对有关数组的一件事感到困惑 我需要声明一个三列 五行的数组 前两列是整数 第三列是字母等级 所以我对声明数据类型感到非常困惑 因为它们是不同的 这是我第一次使用数组 所以请原谅我的无知 这是我的数组应
  • 使用 VBA 在单元格内查找字符串

    我已经为此发疯了一天 到处搜索 可能是我想变得太可爱 所以我完全陷入困境 我正在尝试运行一个简单的 if then 如果一个单元格包含 我希望它做一件事 如果不是另一件事 由于我不明白的原因 我无法让它发挥作用 我显然从其他地方借鉴了一些想
  • 使用 url 元素内的 xhtml:link 验证 XML Sitemap urlset

    我正在尝试创建如下所示的站点地图 但收到此错误
  • 如何将 4 个字节组合成 32 位无符号整数?

    我正在尝试将 4 个字节转换为 32 位无符号整数 我想也许是这样的 UInt32 combined UInt32 map i lt lt 32 map i 1 lt lt 24 map i 2 lt lt 16 map i 3 lt lt
  • 使用 ElementTree getpath() 动态获取 Xpath

    我需要编写一个动态函数 通过动态构建元素的 XPath 来查找 ATOM xml 子树上的元素 为此 我写了这样的内容 tree etree parse xmlFileUrl e etree XPathEvaluator tree name
  • 在Python中解析日期时间..?

    我有一个系统 用Python开发 接受各种格式的日期时间作为字符串我必须parse他们 当前日期时间字符串格式是 Fri Sep 25 18 09 49 0500 2009 2008 06 29T00 42 18 000Z 2011 07
  • maven exec:java 运行jar内的类文件

    我将我的代码打包到 jar 中 罐子包装完好 jar tfv target test 1 0 SNAPSHOT jar com com codevalid com codevalid App class log4j xml META INF
  • 使用 SPM(Swift 包管理器)获取本地文件的 URL

    我正在尝试阅读 json文件放在我的单元测试中并在 Swift Package 中运行它 使用 Xcode 11 和 Swift 5 1 let path Bundle main url forResource filename withE
  • 如何禁用或更改 React-Leaflet v4 弹出关闭按钮上的 href?

    在react leaflet v4中 Popup组件有一个与关闭按钮关联的默认href 该按钮指向 close React 有没有办法修改这个 href 或禁用 href 重定向 它破坏了我的反应域 HashRouter 值得注意的是 Le
  • 页面加载时隐藏div

    我有 jquery 问题 请查看我的 jquery 代码 document ready function toggle container show h2 trigger toggle function this addClass acti
  • 将 TypeNameAssemblyFormat 与 PCL 结合使用时,Newtonsoft.Json 出现 MissingMethodException

    将 TypeNameAssemblyFormat 与 PCL 一起使用是否存在问题 除了使用此序列化设置之外 使用 Newtonsoft Json 的任何其他设置都没有问题 这是我的Json相关代码 var settings new Jso
  • Python 中使用 Paramiko 进行递归目录复制

    我是 Python 脚本新手 我需要将一些文件夹从本地计算机 Windows 复制到 Linux 服务器 截至目前 我正在通过打开 WinSCP 控制台来复制文件夹 我需要自动化这个过程 我使用 Paramiko 模块库在 Python 中
  • 将 google idToken 交换为本地 openId 令牌 c#

    我正在使用这个github项目https github com openiddict openiddict core这太棒了 但当用户使用外部身份提供商时 我对程序应该是什么或如何实现它们感到困惑 对于这个例子 我将使用谷歌 我有一个 An
  • 使用 jQuery 滑动切换一组表行

    我对 javaScript 和 jQuery 相当陌生 所以希望这将是一个快速修复 我需要显示一个包含可分为多个类别的数据的表格 并且我想实现一个隐藏 显示每个给定类别中的所有观察结果的幻灯片切换 下面的代码 理想情况下 应显示一个 4 列