Переключать столбцы таблицы с помощью <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 ответ

Решение

Используйте значение сжатия для свойства видимости нужного вам тега col. Например, для скрытия столбца c2 используйте:

#c2 {
   visibility: collapse;
}

А также, чтобы обнулить ширину свернутого столбца, установите для ширины элемента col значение 0, а для свойства css макета таблицы элемента установлено фиксированное значение:

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

а также

<table style="table-layout:fixed;...">
...
Другие вопросы по тегам