テーブルの行を折りたたみたいのですが、detailsタグとsummaryタグを使ってもうまくいきませんでした。
テーブル全てならうまくいきました。
例えば情報4〜6のtrタグだけを折りたたむことは出来ないのでしょうか。
どうかご教示ください
<table>
<tr>
<td>情報1</td>
<td>情報2</td>
<td>情報3</td>
</tr>
<tr>
<td>情報4</td>
<td>情報5</td>
<td>情報6</td>
</tr>
No.2ベストアンサー
- 回答日時:
No1です。
時間があったので、No1の最後の例を少しだけそれっぽくしてみました。
表中の行をクラス設定でグループ化して、グループ単位で表示/非表示を切替えられるようにしてみた例です。
(適当にA、B、Cの3グループにしてあります)
ご参考までに。
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#tbl { border-collapse: collapse; }
#tbl caption { margin-bottom: 0.5em; font-weight: bold; }
#tbl label { color: blue; padding-right:1.5em; cursor: pointer; }
#tbl label:before { content: "+ "; }
#tbl caption input:checked + label:before { content: "- "; }
#tbl caption input { display: none; }
#tbl td { border: 1px solid gray; padding: 0 1.2em; }
#tbl .B, #tbl .C { display: none; }
#tbl:has(#B:checked) tr.B { display: table-row; }
#tbl:has(#C:checked) tr.C { display: table-row; }
</style>
</head>
<body>
<table id="tbl">
<caption>
<input type="checkbox" id="B">
<label for="B">B群</label>
<input type="checkbox" id="C">
<label for="C">C群</label>
</caption>
<tr><td>A群<td>A-1<td>A-2<td>A-3
<tr class="B"><td>B群<td>B-1<td>B-2<td>B-3
<tr class="C"><td>C群<td>C-1<td>C-2<td>C-3
<tr><td>A群<td>A-4<td>A-5<td>A-6
<tr class="B"><td>B群<td>B-4<td>B-5<td>B-6
<tr><td>A群<td>A-7<td>A-8<td>A-9
<tr class="C"><td>C群<td>C-4<td>C-5<td>C-6
</table>
</body>
</html>
No.3
- 回答日時:
<details> と <summary> と同じことをするならば、
<tbody> と 最初の<tr> に置き換えてイベント処理を書けばマネできます。
<table>
<tbody>
<tr><th colspan=3>概要1-2-3
<tr><td>情報11<td>情報12<td>情報13
<tr><td>情報21<td>情報22<td>情報33
</tbody>
<tbody>
<tr><th colspan=3>概要4-5-6
<tr><td>情報14<td>情報15<td>情報16
<tr><td>情報24<td>情報25<td>情報36
</tbody>
</table>
<style>
tbody.fold > tr { display:none; }
tbody.fold > tr:first-child { display:table-row; }
</style>
<script>
document.querySelectorAll('table tbody th').forEach(x=>{
_ x.addEventListener('click', ev=>{
_ _ ev.target.closest('tbody').classList.toggle('fold')
_ })
});
</script>
No.1
- 回答日時:
こんにちは
table要素は全体で一つの表を作成するためのものですので、包含関係が決まっています。
例えば、<tbody>内におけるのは<tr>タグ以外は許されていません。
https://developer.mozilla.org/ja/docs/Web/HTML/E …
どうしても、ご質問のようなことをなさりたければ・・
1)ご質問文にもあるように、表全体であれば可能ですので、必要な単位で表を分割して記述する。
2)CSSでテーブルと同様の表示にする(<table>タグは用いない)
display: table-row; や display: grid; を用いることで、表と同じような表示にすることが可能です。
3)スクリプトを用いて、行の表示/非表示を切り替える。
この方法であれば、一つのテーブル内で指定する行の表示/非表示を切り替えられます。
簡単なトリガーであればスクリプトを用いなくても 3)と同様のことはCSSで実現可能です。
以下は、そのような一例のごく簡単なものです。
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
td { border: 1px solid gray; }
tr:nth-child(2) { display: none; }
#hoge:checked ~ table tr:nth-child(2) { display: table-row; }
</style>
</head>
<body>
<input type="checkbox" id="hoge" />4~6を表示
<table>
<tr>
<td>情報1</td>
<td>情報2</td>
<td>情報3</td>
</tr>
<tr>
<td>情報4</td>
<td>情報5</td>
<td>情報6</td>
</tr>
</table>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP htmlのエラーについて(デバッグ) 1 2023/11/13 20:54
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS pythonのコードについてご教示ください 1 2024/01/14 05:39
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
中に<table></table>が使えるアコーディオンを教えて下さい。
HTML・CSS
-
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
-
テーブルの任意の列を非表示にしたい
HTML・CSS
-
-
4
テーブルの一部分のセルだけにスクロールバーを付けたいのですが、うまくいきません。
HTML・CSS
-
5
TRタグの余白をcssで設定するには
HTML・CSS
-
6
tableタグとformタグの組み合わせ
HTML・CSS
-
7
PageLoadの後にJavascript実行したい
Microsoft ASP
-
8
テーブルの位置を細かく指定したい。
HTML・CSS
-
9
水の蒸発量を教えてください
物理学
-
10
HTMLからフォルダを開きたい
HTML・CSS
-
11
AIの登場でプログラマーたちが解雇されていますが
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableにul,または,olを入れられ...
-
テーブルの行を折りたたみたい...
-
TRタグの余白をcssで設定するには
-
テーブルのヘッダとボディの幅...
-
テーブルの任意の列を非表示に...
-
tableでcolspanを使うと次行以...
-
EXCELからhtmlへの変換で罫線が...
-
値が0なら非表示にしたい
-
文字の中央そろえを一括で指定...
-
テーブルの行の高さを指定する...
-
cssで、表示されるテキストによ...
-
テーブルの1列目だけ背景色をつ...
-
テーブル内でdivを使った時に改...
-
テーブルをスクロールさせると...
-
【CSS】:hasで可能? imgを含む...
-
スタイルシートで colspan=3と...
-
tableにtableをネストした場合
-
tableの中で<p>タグを使うと…
-
HTML <td></td>タグ セル内余...
-
DreamWeaverで複数ワードを一気...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
cssで、表示されるテキストによ...
-
テーブルの任意の列を非表示に...
-
掲示板//インラインフレーム内...
-
テーブルのセルに画像をピッタ...
-
HTMLのテーブルで桁をそろ...
-
中に<table></table>が使えるア...
-
テーブルのヘッダとボディの幅...
-
逆L字の表(table)組み
-
ホームページ 表の上の余白を...
-
文字列が入っているtdを削除せ...
-
テーブルの行の高さを指定する...
-
HTMLで文とテーブルの間が空く。
-
EXCELからhtmlへの変換で罫線が...
-
CSSだけで<table>の<td>や<tr>...
-
テーブルの表示がずれます
-
テーブルの装飾
-
値が0なら非表示にしたい
おすすめ情報