4

私は次のコードを持っています:

<tr><td class="style3">test</td></tr>

$("tr").hover(
  function () {
    $(this).css("background-color","#d9e8cd");
    $(this).css("font-weight","bold");
    $(this).children().css("color","#222222 !important");
  }, 
  function () {
    $(this).css("background-color","");
    $(this).css("font-weight","");
    $(this).children().css("color","#4b4a4a");
  }
);

問題は、テキストの色が変わらないことです。trを指定しようとしましたが、機能しないため、色を指定するstyle3クラスがあるため、tdをターゲットにすると機能すると思いました。

trにカーソルを合わせると、テキストの色が変わるようにするにはどうすればよいですか?

これはオンラインデモです http://jsfiddle.net/B7dMd/

4

2 に答える 2

3

重要な構文はjQueryCSSではサポートされていません。本当に「!important」を追加する必要がある場合は、CSSDOMcssTextを試してみてください。

$(this).children().css('cssText', 'color:#222222 !important');

それを指摘するために-ほとんどの場合、インラインスタイルに!importantを追加する必要がある理由はありません。インラインスタイルは優先度が高いため、別の!importantルールをオーバーライドするために追加するだけで済みます。

于 2012-12-27T23:25:34.007 に答える
0

tra内にないa を追加すると、ブラウザーはテーブル タグ (および)tableなしでそれを解釈し、テキストのみを許可します。ここで要素を調べると、この動作を確認できます。tdtr

この問題を解決するには、テーブル内に追加します。

<table>
    <tr>
        <td class="style3">test</td>
    </tr>
<table>

デモ

于 2012-12-27T23:31:57.453 に答える