[解決済み] テーブルの行全体をリンクとしてクリックできるようにするには?
2022-03-18 18:12:12
質問
Bootstrapを使っているのですが、以下がうまくいきません。
<tbody>
<a href="#">
<tr>
<td>Blah Blah</td>
<td>1234567</td>
<td>£158,000</td>
</tr>
</a>
</tbody>
解決方法は?
作者コメント I:
以下の他の回答、特にjqueryを使用していないものをご覧ください。
作者のコメント II:
後世に残すために保存されているが、きっと いけない 2020年に向けてのアプローチ。(2017年当時も非熟語だった)。
オリジナル回答
Bootstrapを使っているということは、jQueryを使っているということですよね :^)なので、一つの方法として。
<tbody>
<tr class='clickable-row' data-href='url://'>
<td>Blah Blah</td> <td>1234567</td> <td>£158,000</td>
</tr>
</tbody>
jQuery(document).ready(function($) {
$(".clickable-row").click(function() {
window.location = $(this).data("href");
});
});
もちろん、hrefを使ったり、場所を切り替えたりする必要はなく、クリックハンドラ関数の中で好きなことをすればいいのです。詳しくは
jQuery
とハンドラの書き方について説明します。
を使用する利点は クラス オーバー イド は、複数の行に解決策を適用できることです。
<tbody>
<tr class='clickable-row' data-href='url://link-for-first-row/'>
<td>Blah Blah</td> <td>1234567</td> <td>£158,000</td>
</tr>
<tr class='clickable-row' data-href='url://some-other-link/'>
<td>More money</td> <td>1234567</td> <td>£800,000</td>
</tr>
</tbody>
で、コードベースは変わりません。同じハンドラですべての行を処理することができます。
もう一つの選択肢
BootstrapのjQueryコールバックはこのように使うことができます(
document.ready
コールバック)。
$("#container").on('click-row.bs.table', function (e, row, $element) {
window.location = $element.data('href');
});
これは、テーブルのソート時にリセットされないという利点があります(他のオプションでは発生します)。
備考
この投稿以降
window.document.location
は廃止されました(少なくとも非推奨)。
window.location
の代わりに
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] クリック可能なラベルを持つチェックボックスを作成するには?
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught TypeError: document.getElementsById は関数ではありません。
-
[解決済み] cssのfit-contentで横幅を自動サイズ調整する
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] リンクを新しいタブまたはウィンドウで開く[重複]。
-
[解決済み] クリック可能なラベルを持つチェックボックスを作成するには?
-
[解決済み] div内の要素を縦に並べるにはどうしたらいいですか?
-
[解決済み] HTMLでBase64画像を表示する方法
-
[解決済み] HTMLのid属性とname属性の違い
-
[解決済み] div内の画像の下に余分なスペースがある