tableの背景色を1行ごとに替えたいときに覚えておきたいjQueryの小技。
tableの背景色を一行ごとに替えたい時、<tr class=”color”>みたいな感じにtrのクラスを分けて色替えしたりするかと思うのですが、急に項目が増えた!?なんてときに行数が多ければ多いほど混乱しますよね?
そんなときにもお役立ち!jQuery先生。
高機能なプラグインもいろいろありますが、単純に色だけかわってりゃいいの!って時にはこんなに簡単な記述でいけちゃいます。
head内にjQueryライブラリと、以下のようなスクリプトを記述します。
<head> <script src="ドメイン名/js/jquery-1.2.3.min.js"></script> <script type="text/javascript"> $(function(){ $('table.table01 tr:even').addClass('bg_even'); // 偶数行 $('table.table01 tr:odd').addClass('bg_odd'); // 奇数行 }); </script> </head>
これで、table01というクラス名のついたtable内の偶数行のtrには「bg_even」、奇数行のtrには「bg_odd」というクラス名が自動で追加されます。
そんでもって、CSSでそれぞれ別の背景色を設定しておきます。
.table01 tr.bg_even { background:#f2f2f2;} .table01 tr.bg_odd { background:#fff;}
これで、どんだけ項目が増えても、偶数行、奇数行それぞれ自動で色分けされるtableの出来上がりです。
ちなみに1行目は0行扱いとして偶数行になるみたいです。
1行目は別の色がいいよ!ってときは<th>とかにしておいて、CSSで個別に色を変えてあげれば問題ないかなと。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。