7

表全体の幅に影響を与えずに表の行を非表示にする方法はありますか? いくつかのテーブル行を表示/非表示にする JavaScript がありますが、行が に設定されている場合、表示されている行display: none;の内容に合わせてテーブルが縮小されます。

4

5 に答える 5

8

テーブル全体の幅を維持したい場合は、行を非表示にする前に確認し、幅のスタイル プロパティを明示的に次の値に設定できます。

table.style.width = table.clientWidth + "px";
table.rows[3].style.display = "none";

ただし、これにより、行を非表示にしたときに個々の列がリフローする可能性があります。これを軽減するために考えられる方法は、テーブルにスタイルを追加することです。

 table {
  table-layout: fixed;
 }
于 2008-09-29T01:36:17.087 に答える
2

参考までに、levik のソリューションは完全に機能します。私の場合、jQuery を使用すると、ソリューションは次のようになります。

$('#tableId').width($('#tableId').width());
于 2008-09-29T02:09:00.333 に答える
1

CSS では、table-layout: fixed;on your table は、指定した高さと幅のサイズを受け入れるようにブラウザーに指示します。行と列の適切なサイズに関するヒントを与えていない限り、これは通常、ブラウザーによる自動サイズ変更を抑制します。

于 2008-09-29T13:23:23.737 に答える
0

純粋なHTMLを使用してそれを行うことができます

<table border="1">
  <colgroup>
    <col width="150px" />
    <col width="10px"  />
    <col width="220px" />
  </colgroup>
  <tr>
    <td valign="top">1</td>
    <td> </td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td> </td>
    <td>4</td>
  </tr>
</table>

于 2008-11-24T15:10:08.623 に答える