用表切换表列

时间:2014-01-19 19:50:58

标签: javascript html colgroup

刚刚发现<colgroup>标记。试图用它来切换列。适用于背景颜色,但不能隐藏。

http://www.w3schools.com/tags/tag_colgroup.asp

table-column也是一个显示属性,所以我在想,是的,太棒了!

http://www.w3schools.com/cssref/pr_class_display.asp

但似乎并不那么简单。线程和讨论倾向于深入研究高级jQuery。这是为什么?

我的表格如下:

<table style="vertical-align: middle;">
  <colgroup>
    <col id="c1">
    <col id="c2">
    <col id="c3">
    <col id="c4">
    <col id="c5">
  </colgroup>
      <tr id="d1">
        <td style="text-align: right; vertical-align: middle;">1/2 D note:</td>

使用切换按钮:

<a href="javascript:toggleCol2();"><img src="/ico/ms.gif" class="ico" alt="X" title="toggle milli-seconds" id="col_ms">milli-seconds</a>

这个JavaScript:

var Col2 = 1;

function toggleCol2() {
    if (Col2 == 0) {
        window.document.getElementById('c2').style.display = "table-column";
        window.document.getElementById('col_ms').style.opacity = "1";
        Col2 = 1;
    } else if (Col2 == 1) {
        window.document.getElementById('c2').style.display = "none";
        window.document.getElementById('col_ms').style.opacity = "0.2";
        Col2 = 0;
    }
}

来自此文件:http://flamencopeko.net/bpm_calc.js

这是测试页:http://flamencopeko.net/bpm_calc_col.php

1 个答案:

答案 0 :(得分:0)

将折叠值用于所需col标记的visibility属性。例如。隐藏列c2使用:

#c2 {
   visibility: collapse;
}

并且还要将折叠列的宽度清零,将col元素的宽度设置为0,同时将表元素的table-layout css属性设置为固定值:

#c2 {
   visibility: collapse;
   width:0;
}

<table style="table-layout:fixed;...">
...