1

<tr>マウスオーバー(ハイライト)時にクラスをに追加しようとしています。ここで、子<td>のスタイルを設定します。内部の bg プロパティのため、目的の効果 (背景色) を に追加するだけで<tr>はうまくいきません<td>

jquery が実行されていることを確認し、1.9 分を使用しています。

これは私がこれまでに持っているものです:

$('table tr').mouseover(function(){
    $(this).addClass('highlight');
}).mouseout(function(){
    $(this).removeClass('highlight');
});

ハイライト.hightlightクラスが..highlight td {}<td><tr>

私の人生では、ここで何が間違っているのか理解できません。に手動で追加すること<td>により、 が正しくスタイル設定されていることをテストしましたが、それは機能します。class="highlight"<tr>

どんな助けでも大歓迎です。みんなありがとう。

4

3 に答える 3

3

私の頭に浮かぶ唯一の事実は、コードを$(document).ready()ハンドラーに配置することです。

$(function() {
    $("table tr").hover(function() {
        $(this).addClass("highlight");
    }, function() {
        $(this).removeClass("highlight");
    });
});

...そして、代わりにもっと便利な.hover()方法を使用するかもしれません。

デモ: http://jsfiddle.net/B2Rnz/

于 2013-05-20T11:39:28.120 に答える
0

必要なロジックがこれ以上ない場合は、プレーン CSS を使用することもできます。

tr:hover td {
    background: #333;
}
于 2013-05-20T11:44:19.880 に答える
0

宣言を1 つだけ定義.highlightして、次のように適用でき<td>ます。

 $(function() {
     $('table tr').on('mouseover', 'td', function(){
           $(this).addClass('highlight');
       }).on('mouseout', 'td', function(){
           $(this).removeClass('highlight');
       });
 });
于 2013-05-20T11:56:10.013 に答える