小编Art*_*son的帖子

使用css显示/隐藏html表列

我想显示一个带控件的基本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>
Run Code Online (Sandbox Code Playgroud)

因此,第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; }
Run Code Online (Sandbox Code Playgroud)

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

更新

这就是我提出的,效果很好 - 而且非常快.如果您能想出改进方法,请告诉我.

CSS …

html javascript css html-table

36
推荐指数
3
解决办法
10万
查看次数

IE7让我的生活变得悲惨!使用css切换在html表列(w/colspan)之间获得差距

复制/粘贴此html代码段并在IE7中试用.当您切换隐藏的列时,它会在列之间留下空隙.在Firefox中它工作正常,列最小化时触摸.还没有尝试IE8,很想知道它是如何工作的.有任何想法吗?我在CSS中尝试了很多东西,比如table-layout:修复但没有运气.

注意:不寻找不同的切换方法,因为我正在处理的表是50+列宽和4000+行,因此循环/ jquery技术太慢.

这是代码 - 如果有人可以重新发布它的工作版本,我会立即给他们支票并永远负债!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script>
function toggle() {
   var tableobj = document.getElementById("mytable");
   if (tableobj.className == "") {
      tableobj.className = "hide1 hide2";
   }
   else {
      tableobj.className = "";
   }
}
</script>
<style>
   table { border-collapse: collapse; }
   td, th { border: 1px solid silver; }
   .hide1 .col1 { display: none; }
   .hide2 .col2 { display: none; }
</style>
</head>
<body>
<input type="button" value="toggle" onclick="toggle();" />
<table id="mytable">
<tr>
   <th>A</th>
   <th …
Run Code Online (Sandbox Code Playgroud)

html javascript css html-table internet-explorer-7

6
推荐指数
1
解决办法
1258
查看次数

标签 统计

css ×2

html ×2

html-table ×2

javascript ×2

internet-explorer-7 ×1