CSS!重要的IE8无法识别

时间:2013-02-22 16:01:38

标签: javascript jquery css class background-color

错误的代码。找到修复

由于DOM级别,

.tblmain td会覆盖tr影响。应该使用.tblmain tr代替。如果有人想提交答案,我会接受。谢谢!

我在CSS中使用!important标识符,以确保在悬停时更改tr的背景颜色。

tr的CSS是

.tblmain td {
    background-color: white;
}

然后通过onmouseover事件我使用javascript如下

onmouseover='$(this).addClass("hover")'

悬停css在

之下
.hover {
    cursor: pointer;
    background-color: #15b6b8 !important;
}

悬停时背景仍为白色,但删除tr类后,悬停按预期工作。我知道!important在这种情况下被认为是hacky,所以我愿意接受任何建议,包括但不限于使用!important使主要颜色成为悬停类。

提前致谢!

1 个答案:

答案 0 :(得分:1)

所以你要添加一个类,但不删除它?请改用toggleClass

此外,使用onmouseover是代码分离不良。试试这个:

$('.tblmain').on('mouseover mouseout', 'tr', function(e) {
    $(this).toggleClass('hover');
});

但是,您可能需要切换td孩子的背景颜色。如果有背景颜色应用于那些,它可以并将覆盖tr的样式。

$('.tblmain').on('mouseover mouseout', 'tr', function(e) {
    $(this).find('td').toggleClass('hover');
});
相关问题