2011-01-08 21 views
1

マウスを転がしたときにテーブルの行を強調表示する機能が必要です。私は現在、他の行ごとに交互の行の色を作成する関数を持っています。別の関数を作成するのではなく、変更したいと思います。ここで私が持っているものです。jQueryを使ったハイライト行

.altColor TD { 
background-color:#f5f5f5 
} 

と私のHTMLは、私が知っている

<table class="tblRows"> 
... 

そこjQueryの関数ホバーは()ですが、私はそれを組み込むするかどうかはわかりませんです

$(".tblRows tr:even").addClass("altColor"); 

私が持っているものと一緒に。吊るされたらクラス= "ハイライト"を使用したいです

それは可能ですか?

答えて

2

あなたはこのためにCSSを使用しない理由はありますか?

#myTable tr:hover { 
    background: orange; 
} 

IE6の<tr>では動作しませんが、別の場所では動作します。

例:http://jsfiddle.net/auWGU/

+1

Uh私はこの方法の単純さが大好きです! – santa

2
$('.tblRows tr') 
    .mouseenter(function() { $(this).addClass('hilite'); }) 
    .mouseleave(function() { $(this).removeClass('hilite'); }; 
+0

おかげで@デビッド、私はそれを忘れてしまった気付きませんでした。 @サンタ私は他の人が指摘したように '.hover'を使うことができると思います。それは本当に私が推測するようにあなたが好きなものに依存します。 :) –

+1

'$(this)' not 'this'、jQueryオブジェクトにする必要があります。[JS Fiddle demo](http://www.jsfiddle.net/davidThomas/bECGe/) 'this 'が' $(this) 'になる必要がある理由のデモへのリンクで編集したいと思っていました。なぜなら、私が感謝しているコメントはコメントの後に表示されます...)=) –

1

hover使用:ここ

$(".tblRows tr").mouseenter(function() { 
    $(this).addClass("hilite"); 
}).mouseleave(function() { 
    $(this).removeClass("hilite"); 
}); 

例:

1

http://jsfiddle.net/andrewwhitaker/kQvJ3/はあなたがマウスオーバーを追加するにはホバー機能を必要とする速記がためである

$(".tblRows tr").hover(function() { 
    $(this).addClass("hilite"); 
}, function() { 
    $(this).removeClass("hilite"); 
}); 

イベントハンドラをテーブルの各行に追加します。 例えば:

$('.tblRows tr').hover(function() { 
    $(this).toggleClass('hilite'); 
}, 
function() { 
    $(this).toggleClass('hilite'); 
}); 
関連する問題