html

始めに操作するべきテーブルを用意します。
ごくごく普通のテーブルですね。

html
<table class="table01">
<tr>
<th>商品名</th>
<th>入荷日</th>
<th>価格</th>
</tr>
<tr>
<td>椅子</td>
<td>2011-08-01</td>
<td>&yen; 2,800</td>
</tr>
<tr>
<td>机</td>
<td>2011-08-08</td>
<td>&yen; 6,800</td>
</tr>
<tr>
<td>本棚</td>
<td>2011-09-03</td>
<td>&yen; 9,800</td>
</tr>
<tr>
<td>ベッド</td>
<td>2011-09-11</td>
<td>&yen; 16,800</td>
</tr>
<tr>
<td>自転車</td>
<td>2011-09-21</td>
<td>&yen; 98,000</td>
</tr>
</table>

1.テーブルをストライプ模様にする

テーブル+javascriptといったらこれってくらいよく使われるのではないでしょうか。
まずは基本のストライプ模様にするです。

javascript
$(function() {
$('.table01 tr:odd').addClass('odd');
});

「odd」は奇数という意味で、「even(偶数)」というセレクターもあります。
ただjQueryでは0から数えるとかなんとかで奇数・偶数が逆になります。

あとはcssをこんな感じにします。

css
table tr.odd td {
background: #FFFFE8;
}

「background」で直接色を変更する方法もありますが、「addClass」でクラスを割り当てて色などはcssで指定した方があとあと修正が楽だと思います。

テーブル個別に数える

上記のやり方だとテーブル全体で数えるので複数テーブルがある場合ストライプが2つめ以降ずれてしまう場合があります。
すべてのテーブルを同じ順番でストライプしたい場合は下記のようにします。

javascript
$(function() {
$('.table01 tr:nth-child(odd)').addClass('odd');
});

列でストライプにする

行は「tr」でしたが「td」にすると列になります。

javascript
$(function() {
$('.table01 td:nth-child(odd)').addClass('odd');
});

2.指定列にクラスを追加する

たとえば価格の列だけ右揃えにしたいとか、この列だけ中揃えにしたいとかありますよね。
その場合1列分「td」にクラスを割り当てます。
先ほど使った「nth-child(Xn)」はX個おきに適用するセレクタなので、「nth-child(2n)」「nth-child(3n)」とすれば2,3列目を指定できます。
しかし1列目を選択したいと思って「nth-child(1n)」とかすると1個おきとなるので当然全て指定されていまいますね。
その場合はtrの数だけ繰り返してtdの一つ目(0)にクラスを割り当てればいけます。

javascript
$('.table01 tr').each(function(i){
$('td',this).eq(0).addClass('over');
});

3.マウスオーバーで色を変える

マウスオーバーされた行だけ色が変わるとわかりやすいことがありますね。
行なら「tr」のhoverに設定すればいいだけなので簡単です。

javascript
$(function() {
$('.table01 tr').hover(
function(){
$(this).addClass('over');
},
function(){
$(this).removeClass('over');
}
);
});

縦列の色も変える

横+縦でクロスさせてマウスオーバーさせる場合は前述の列にクラスを適用と組み合わせます。

javascript
$('.table01 td').hover(
function(){
$(this).parent().addClass('over');
var currentNum = $(this).index();
$('tr',$(this).parent().parent()).each(function(i){
$('td',this).eq(currentNum).addClass('over');
});
},
function(){
$(this).parent().removeClass('over');
var currentNum = $(this).index();
$('tr',$(this).parent().parent()).each(function(i){
$('td',this).eq(currentNum).removeClass('over');
});
}
);

「.parent().parent()」となってあまりよくない感じですね。もっと良いやり方があるのではないかと思います。

4.連番IDの列(カラム)を追加する

列を追加して自動的に連番を割り当てる方法です。

javascript
$('.table01 tr').each(function(i) {
if(i != 0) {
$(this).prepend('<td>'+ i +'</td>');
} else {
$(this).prepend('<th>id</th>');
}
});

詳しくはこちらの記事もご覧ください。

jQueryでテーブルに連番idの列(カラム)を追加する

5. 一定の数値ごとに色を変化させる

サンプルの表には価格の項目があるので、この価格が3000円以下、10000円以下、それ以上という条件で色を変化させてみます。

javascript
$('.table01 tr').each(function() {
//3番目のカラムを取得
var price = $('td', this).eq(2).text();
//価格を数値に変換
price = price.replace(/,| /gi,'');
if (price < 3000) {
$(this).addClass('level1');
} else if (price < 10000) {
$(this).addClass('level2');
} else {
$(this).addClass('level3');
}
});

今回は価格に「¥ 」と「,」が入っていたので4行目の正規表現でこれらを取り除いています。
プレーンな数値でしたらこの処理は必要ありません。