シンプルでいいアイデアだったのでメモ。
HTMLテーブルの列そのものにリンクを
指定できるようにする、というもの。jQuery
でサクッと出来るようですね。ちょっと思
いつきませんでしたけど・・テーブルまわり
は使いやすさを向上したいところです。
HTMLのテーブルの列をjQueryでクリッカブルにする事で、ユーザーの利便性を上げられそうです。
動作サンプル
地名 | 読み方 | En | 詳細 | その他 |
---|---|---|---|---|
東京 | とうきょう | Tokyo | 日本の事実上の首都がある | ダミーリンク |
京都 | きょうと | Kyoto | 794年に日本の首都に定められた | ダミーリンク |
静岡 | しずおか | Shizuoka | 静岡市と浜松市の2つの政令指定都市を有する | ダミーリンク |
大阪 | おおさか | Osaka | 関西地区の経済・文化の中心地 | ダミーリンク |
列全体がクリック可能で、Wikipediaに飛びます。セル内にアンカータグが含まれている場合はそちらが優先されます。Webサービスの料金プランなんかに使えそうでは。
コード
jQuery( function($) { $('tbody tr[data-href]').addClass('clickable').click( function() { window.location = $(this).attr('data-href'); }).find('a').hover( function() { $(this).parents('tr').unbind('click'); }, function() { $(this).parents('tr').click( function() { window.location = $(this).attr('data-href'); }); }); });
列のどこにいてもクリック出来るようにする。tr要素には予めdata-href=”http://example.com”というマークアップをしてあります。
マークアップ
<table> <thead> <tr> <th>地名</th> <th>読み方</th> <th>En</th> <th>詳細</th> <th>その他</th> </tr> </thead> <tbody> <tr data-href="http://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC"> <td>東京</td> <td>とうきょう</td> <td>Tokyo</td> <td>日本の事実上の首都がある</td> <td><a href="#">ダミーリンク</a></td> </tr> <tr class="even" data-href="http://ja.wikipedia.org/wiki/%E4%BA%AC%E9%83%BD"> <td>京都</td> <td>きょうと</td> <td>Kyoto</td> <td>794年に日本の首都に定められた</td> <td><a href="#">ダミーリンク</a></td> </tr> <tr data-href="http://ja.wikipedia.org/wiki/%E9%9D%99%E5%B2%A1%E7%9C%8C"> <td>静岡</td> <td>しずおか</td> <td>Shizuoka</td> <td>静岡市と浜松市の2つの政令指定都市を有する</td> <td><a href="#">ダミーリンク</a></td> </tr> <tr class="even" data-href="http://ja.wikipedia.org/wiki/%E5%A4%A7%E9%98%AA"> <td>大阪</td> <td>おおさか</td> <td>Osaka</td> <td>関西地区の経済・文化の中心地</td> <td><a href="#">ダミーリンク</a></td> </tr> </tbody> </table>
上記サンプルのソースです。
なかなか手軽でいい感じですね。ユーザーにも優しいし、使いこなしたいです。以下を参考にしました。
via:The Phuse
【追記】
もっとシンプルなコードにしてくれますた。ワーイ(´▽`)
少しのjQueryコードで(ryをもう少し短くしてみたよ
もっと少量のjQueryコードでHTMLテーブルの列にリンク先を指定できるようにする方法
こうしてより良い方法に改善してくれるのは凄く嬉しいですねw