使用 css 显示/隐藏 html 表格列

2024-02-02

我想显示一个基本的 html 表,其中包含用于切换显示/隐藏附加列的控件:

<table id="mytable">
    <tr>
        <th>Column 1</th>
        <th class="col1">1a</th>
        <th class="col1">1b</th>
        <th>Column 2</th>
        <th class="col2">2a</th>
        <th class="col2">2b</th>
    </tr>
    <tr>
        <td>100</td>
        <td class="col1">40</td>
        <td class="col1">60</td>
        <td>200</td>
        <td class="col2">110</td>
        <td class="col2">90</td>
    </tr>
</table>

因此,第 1 列和第 2 列将是默认显示的唯一列 - 但当您单击第 1 列时,我希望 1a 和 1b 进行切换,与第 2 列的 2a 和 2b 相同。我最终可能会得到更多的列和很多行——所以当我测试时,任何 javascript 循环方法都太慢而无法使用。

唯一看起来足够快的方法是设置一些 css,如下所示:

table.hide1 .col1 { display: none; }
table.hide2 .col2 { display: none; }
table.hide3 .col3 { display: none; }

table.show1 .col1 { display: table-cell; }
table.show2 .col2 { display: table-cell; }
table.show3 .col3 { display: table-cell; }

然后在表头单元格上设置 onClick 函数调用,这将触发切换 - 并确定将“mytable”设置为哪个 css 类,这将创建我正在寻找的切换效果。有没有一种简单的方法来设置它,以便代码可以适用于 n # 列?

Update

这是我的想法,效果很好,而且速度非常快。如果您能想到改进的方法,请告诉我。

CSS

.col1 {display: none; }
.col2 {display: none; }
.col3 {display: none; }

table.show1 .col1 { display: table-cell; }
table.show2 .col2 { display: table-cell; }
table.show3 .col3 { display: table-cell; }

JavaScript

function toggleColumn(n) {
    var currentClass = document.getElementById("mytable").className;
    if (currentClass.indexOf("show"+n) != -1) {
        document.getElementById("mytable").className = currentClass.replace("show"+n, "");
    }
    else {
        document.getElementById("mytable").className += " " + "show"+n;
    }
}

和 html 片段:

<table id="mytable">
<tr>
    <th onclick="toggleColumn(1)">Col 1 = A + B + C</th>
    <th class="col1">A</th>
    <th class="col1">B</th>
    <th class="col1">C</th>
    <th onclick="toggleColumn(2)">Col 2 = D + E + F</th>
    <th class="col2">D</th>
    <th class="col2">E</th>
    <th class="col2">F</th>
    <th onclick="toggleColumn(3)">Col 3 = G + H + I</th>
    <th class="col3">G</th>
    <th class="col3">H</th>
    <th class="col3">I</th>
</tr>
<tr>
    <td>20</td>
    <td class="col1">10</td>
    <td class="col1">10</td>
    <td class="col1">0</td>
    <td>20</td>
    <td class="col2">10</td>
    <td class="col2">8</td>
    <td class="col2">2</td>
    <td>20</td>
    <td class="col3">10</td>
    <td class="col3">8</td>
    <td class="col3">2</td>
</tr>
</table>

使用 jQuery 的一行代码:

$('td:nth-child(2)').hide();

// If your table has header(th), use this:
//$('td:nth-child(2),th:nth-child(2)').hide();

Source: 使用一行 jQuery 代码隐藏表列 http://www.devcurry.com/2009/07/hide-table-column-with-single-line-of.html

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

使用 css 显示/隐藏 html 表格列 的相关文章

  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • tinyMCE - 将RemoveFormat限制为格式列表

    当前的tinyMCE版本 3 5 2 Hi 我正在开发一个自定义插件 可以添加和删除自定义格式 http www tinymce com tryit custom formats php 向当前选择添加格式很简单 但我做不到 找到删除多种格
  • 在表单中重新填充密码字段会产生安全问题吗?

    我想知道当其他字段未验证时是否应该重新填充表单中的 屏蔽的 密码字段 我在网上看到过两种形式 重新填充屏蔽密码字段 清空密码字段 因此用户需要再次输入它 即使它是有效的 你的最佳实践是什么 重新填充密码字段是否表明存在安全漏洞 就可用性而言
  • 推迟未使用的 CSS

    我有一个关键的 CSS 流程 可以防止页面首屏内容出现无样式内容闪现 FOUC 我陷入了 推迟未使用的 CSS 这一点 Google PageSpeed 见解 灯塔 和 或 Chrome 的性能审核强调了这一点 我已经阅读了其他文章 但它们
  • 如何在流星运行时编译新模板?

    如何使用 Handlebars js 在流星中运行时编译新模板 var source
  • 如何使用C从http下载文件?

    最近几天我试图弄清楚如何从 URL 下载文件 这是我对套接字的第一个挑战 我用它来了解协议 所以我想在没有 cURL 库的情况下只用 C 语言来完成它 我搜索了很多 现在我可以打印页面的源代码 但我认为这与文件不同 我不必只将接收到的数据从
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • 由于运行 Javascript,Firefox 选择下拉列表不断刷新/恢复为默认选项 - AngularJS

    我正在 AngularJS 中构建一个应用程序 但在使用 Firefox 时无法选择下拉菜单 当我单击选择菜单并将鼠标悬停在选项上时 它会将所选选项从光标悬停的选项重置为默认 第一个选项 当选项数量很大时 选择正确的选项变得非常困难 该应用
  • 错误 [ERR_UNSUPPORTED_DIR_IMPORT]:尝试在本地启动 Nodejs 应用程序时导入目录

    我在尝试将我的应用程序部署到 Heroku 时陷入了一个循环 我的进口声明 例如import cors from cors 由于 无法在 Common JS 中加载 ES6 模块 错误 似乎阻止了应用程序在生产环境中启动 在本地运行得很好
  • CSS 列不会水平对齐

    我正在使用列计数来允许我的文本流入两个不同的列 但第一列的顶部 最左边 低于另一列 col moz column count 2 webkit column count 2 column count 2 div h3 Options h3
  • 正则表达式问题 - 在字符串中查找数字

    我目前正在使用 JavaScript 从字段中获取字符串 在该字段中通常会有 宽度 56 空隙 67 我需要做的是识别 1 440 范围内的两个数字 并将它们放入两个不同的字段中 字段 1 宽度 字段 2 无效 我已经研究过正则表达式 到目
  • 如何调试使用 Testaulous (Karma) 运行的 Jasmine 规范?

    我有一个具有 Jasmine 规格的小项目 我使用 Testaulous 作为我的测试运行程序 我不明白如何调试应用程序代码或规范代码 当我尝试在 Chrome 开发工具中设置断点时 下次规范运行时不会命中它 因为它每次都会使用新的查询字符
  • chrome.extension.getBackgroundPage() 函数示例

    我正在开发一个需要在后台运行的小型 Chrome 扩展 但是 我知道当我使用弹出窗口时这是不可能的 经过一番阅读后 似乎最好的选择是创建popup js为了运行background js using chrome extension get
  • 容器中的等间距 div

    这是我的例子 http jsfiddle net rtCP3 62 http jsfiddle net rtCP3 62 我有 3 个 或更多 div 我想在一个容器中均匀分布 当将 Angular 与 ng repeat 一起使用时 样式
  • firebase 返回 onSnapshot 承诺

    我正在使用 firebase firestore 并且正在寻找一种返回快照承诺的方法 onlineUsers i want to return onSnapshot return this status database ref where
  • Phantomjs page.content 未检索页面内容

    我使用 Phantomjs 来抓取使用 JavaScript 和 Ajax 加载动态内容的网站 我有以下代码 var page require webpage create page onError function msg trace v
  • 如何使用nodejs获取目录中第一个扩展名为.txt的文件?

    我所有文件所在的目录是 usr home jordan 该目录下有很多文件 在目录本身中 但有一个文件以 txt 扩展名命名 使用nodejs和fs 我想将带有txt扩展名的第一个文件 或任何文件 放入 mytxtfilepath 中 我在
  • 让屏幕阅读器读取使用 JavaScript 添加的新内容

    加载网页时 屏幕阅读器 例如 OS X 中的屏幕阅读器或 Windows 上的 JAWS 中的屏幕阅读器 将读取整个页面的内容 但是假设您的页面是动态的 当用户执行操作时 新内容就会添加到页面中 为了简单起见 假设您在某个位置显示一条消息
  • Img src 路径以及要传递的标头参数

    我在 jsp 页面中有一个 img 标记 其中 src 路径需要传递标头参数才能获取图像 我们怎样才能实现它呢 您现在可以使用fetch https developer mozilla org en US docs Web API Fetc

随机推荐

  • JSON Jackson 将不同的键解析到同一字段中

    我有一个 POJO 其中有一个字段 public class Media private Asset asset 将 json 响应解析到此资产 POJO 中时 一切正常 但该资产附带的密钥略有不同 它可以是 JsonProperty co
  • 同时进行网页插入

    我们开发了一个在线测验 用户可以注册一个团队来参加测验 在 asp 中会检查该团队名称是否已提交 如果已提交 则会生成错误 我们注意到一个问题 如果两支球队在同一时间以相同的名称注册 则两支球队都注册了 尽管这种情况不太可能发生 但我们想知
  • 如何比较以逗号分隔的两个列值?

    我有一个包含特定列的表 其中有一列包含逗号分隔的值 例如测试 考试 结果 其他 我将传递一个字符串 例如结果 样本 未知 额外作为存储过程的参数 然后我想通过检查该字符串中的每个短语来获取相关记录 例如 TableA ID Name Wor
  • GCM 不致力于姜饼,但致力于冰淇淋三明治

    我正在编写一个使用 GCM 消息的游戏 当一名玩家进入服务器的回合移动时 服务器将向其对手发送一条 GCM 消息 让该客户端知道有额外的回合数据可用 这应该很简单 我已尽可能严格地遵循示例 GCM 客户端代码 我有两台设备用于测试 带冰淇淋
  • 使用 PyCrypto AES 进行 Python 加密

    我今天刚刚发现 pycrypto 并且一直在研究我的 AES 加密课程 不幸的是 它只起到了一半的作用 self h md5 以十六进制格式输出 md5 哈希值 大小为 32 字节 这是输出 它似乎解密了消息 但它在解密后放置了随机字符 在
  • IE11 无法通过 Web 服务器显示带有对象标记的图像,但在本地正常

    问题 通过对象标签将图像设置作为数据查看时 Internet Explorer 11 在通过 Web 服务器查看时不会显示该图像 这是完整的代码 div style width 200px height 100px img src squa
  • 为什么串联的 RequireJS AMD 模块需要加载程序?

    我们在开发过程中喜欢 RequireJS 和 AMD 在这里我们可以编辑模块 在浏览器中点击重新加载 然后立即看到结果 但是 当需要将我们的模块连接到单个文件以进行生产部署时 显然必须有一个 AMD 加载器仍然存在 无论该加载器是 Requ
  • Python:查找字符串中的单词

    我想在字符串中找到这个单词 如下所示 kkk I do not like that car if like in kkk print like elif dislike in kkk print dislike elif hate in k
  • Laravel 忽略变异器

    我正在使用 Laravel 的 Mutator 功能 并且我有以下 Mutator public function setFirstNameAttribute value this gt attributes first name strt
  • systemctl 状态显示 inactive dead

    我正在尝试编写自己的 简单 systemd 服务 该服务执行一些简单的操作 例如使用 shell 脚本将数字 1 到 10 写入文件 我的服务文件如下所示 Unit Description NandaGopal Documentation
  • 如何在我的类中实现前置和后置自增/自减运算符?

    我想要超载 运算符在我的 c 类中使用运算符重载来使用预增量和后增量 但只有后增量才有效 如何使这两个功能在我的班级中起作用 假设我做了一个 ABC 类 比如 using System using System Collections Ge
  • 设置变换后图像的宽度和高度:旋转

    i have a div with width 190px and height 260px i assign img tag on that div when i upload an image that shows how the im
  • cmd编程中的速度和时间问题

    最近存在一个问题 即如何将具有用户预定义文件类型扩展名的许多文件从一个文件夹移动到许多不同的文件夹 这些文件夹是根据文件名中的密钥字符串 年份 立即创建的 此外 当移动到新创建的文件夹时 文件应在没有用户预定义文件类型扩展名的情况下保存 文
  • 指针变量只是带有一些运算符的整数还是“符号”?

    编辑 最初的单词选择令人困惑 象征性 这个词比原来的 神秘的 要好得多 在关于我之前的 C 问题的讨论中 我被告知指针是 类似于整数的简单值类型 https stackoverflow com questions 32043314 over
  • python asyncio aiohttp 超时

    注意事项 这是我第一次使用 asyncio 所以我可能做了一些非常愚蠢的事情 场景如下 我需要 http ping 一个巨大的 url 列表来检查它们是否响应 200 或任何其他值 尽管像 gobuster report 200 403 等
  • 如何使用重构从类中删除泛型类型

    我有这门课 public class TimeIntCo
  • 搜索多个字符串

    我知道在文件 kmp 中查找一个字符串或在文件 trie 中查找各种字符串的有效方法 但是 多年来 我一直想知道是否有一种方法 有时认为不可能 在多个文件中搜索多个字符串 假设我有一百万个文件 我想回答诸如 查找包含字符串 香蕉 摩托艇 和
  • Pyspark结构化流Kafka配置错误

    我之前已经成功地将 pyspark 用于 Spark Streaming Spark 2 0 2 和 Kafka 0 10 1 0 但我的目的更适合结构化流 我尝试使用在线示例 https spark apache org docs 2 1
  • 微服务横向扩展数据库的最佳实践或设计

    微服务的主要好处是可以通过使用多个容器实例和负载平衡来扩展一种服务 类型 以提高吞吐量 但有一件事是 服务类型 的多个实例 即容器 共享同一个数据库实例 当多个实例在该数据库实例上写入 读取时 这可能会造成性能瓶颈 传统上 我们会扩展该数据
  • 使用 css 显示/隐藏 html 表格列

    我想显示一个基本的 html 表 其中包含用于切换显示 隐藏附加列的控件 table tr th Column 1 th th class col1 1a th th class col1 1b th th Column 2 th th c