错误的代码。找到修复
由于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
使主要颜色成为悬停类。
提前致谢!
答案 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');
});