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 但它不起作用,所以我认为定位 td 会使其工作,因为 style3 类指定了颜色。

当 tr 悬停在上面时,如何使文本的颜色发生变化?

这是一个在线演示 http://jsfiddle.net/B7dMd/

4

2 回答 2

3

jQuery CSS 不支持重要的语法。如果你真的需要添加“!important”,你可能想试试 CSS DOM cssText:

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

需要指出的是 - 在大多数情况下,您没有理由在内联样式中添加 !important ,因为内联样式具有高优先级,您只需覆盖另一个 !important 规则。

于 2012-12-27T23:25:34.007 回答
0

当您添加tr不在 a 内的 atable时,浏览器会在没有表格标签(tdtr)的情况下解释它,并且只允许文本。如果您在此处检查元素,您可以看到此行为。

要解决此问题,请将其添加到表格中。

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

演示

于 2012-12-27T23:31:57.453 回答