[解決済み] HTMLテーブルのカラムを隠す/表示する
2022-04-25 19:36:14
質問
いくつかの列を持つHTMLのテーブルがあり、jqueryを使用して列選択機能を実装する必要があります。 ユーザーがチェックボックスをクリックすると、テーブルの対応するカラムを隠したり表示したりしたいのです。 テーブルのすべてのtdにクラスを付けずにこれを行いたいのですが、jqueryを使用して列全体を選択する方法はありますか? 以下は、HTMLの例です。
<table>
<thead>
<tr><th class="col1">Header 1</th><th class="col2">Header 2</th><th class="col3">Header 3</th></tr>
</thead>
<tr><td>Column1</td><td>Column2</td><td>Column3</td></tr>
<tr><td>Column1</td><td>Column2</td><td>Column3</td></tr>
<tr><td>Column1</td><td>Column2</td><td>Column3</td></tr>
<tr><td>Column1</td><td>Column2</td><td>Column3</td></tr>
</table>
<form>
<input type="checkbox" name="col1" checked="checked" /> Hide/Show Column 1 <br />
<input type="checkbox" name="col2" checked="checked" /> Hide/Show Column 2 <br />
<input type="checkbox" name="col3" checked="checked" /> Hide/Show Column 3 <br />
</form>
解決方法は?
<ブロッククオートすべてのtdにクラスを付けることなく、これを行いたい。
個人的には、class-on-each-td/th/colのアプローチに賛成です。そうすれば、コンテナのclassNameに1回書き込むだけで、カラムのオンとオフを切り替えることができます。
table.hide1 .col1 { display: none; }
table.hide2 .col2 { display: none; }
...
これは、どのJSループアプローチよりも高速になります。本当に長いテーブルの場合、応答性に大きな違いが生まれます。
IE6に対応しないでも済むのであれば、隣接セレクタを使って、tdsにclass属性を追加する必要がないようにすることも可能です。あるいは、マークアップをすっきりさせたいのであれば、初期化ステップでJavaScriptから自動的に属性を追加することもできます。
関連
-
[解決済み] ユーザーがDIVの外側をクリックしたときに、jQueryを使用してDIVを非表示にする
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] HTMLページからのリダイレクト
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】jQueryがリクエストボディに有効なjsonを投稿する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] セレクトした要素の外側のHTMLを取得する
-
[解決済み] jQueryでチェックボックスの値を取得する
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] .on('click') と .click() の違いについて
-
[解決済み] jQueryがどのバージョンで読み込まれているかを確認するには?
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] JSONPとは何か、素人目にもわかるように説明してくれる人はいませんか?[重複)。
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み】フォームのhiddenフィールドにjQueryの".val() "を使って値を設定してもうまくいかない。
-
[解決済み】jQueryでRSSをパースする。