删除悬停样式?

时间:2011-10-17 06:54:58

标签: jquery css hover

我有一张桌子和这样的风格:

.highlightrows tbody tr:hover {
  background-color: #aaaaff;
 }

然后我在这一行上有一个点击处理程序,从表中删除该行并将其添加到另一个表中。当我点击鼠标时,我当然将鼠标悬停在该行上,因此应用了该样式。 我的问题是,当我将它附加到另一个表时,不会删除悬停样式。如何在jQuery中删除样式?

编辑: 我做了一个jsFiddle来描述我的问题。 fiddle

3 个答案:

答案 0 :(得分:1)

你有两张桌子......为什么不这样做?

#table1.highlightrows tbody tr:hover {
  background-color: #aaaaff;
}

#table2.highlightrows tbody tr:hover {
  background: none;
}

答案 1 :(得分:0)

哈,这似乎是浏览器的一个错误,因为你不再在元素上盘旋。

无论如何,你可以试试

$(this).css("background-color", "transparent");

或以其他方式将其设置为默认颜色移动后

:悬停不是样式,AFAIK你不能从元素中删除它 - 只有浏览器才能这样做。您唯一能做的就是在实际元素上强制使用默认样式

答案 2 :(得分:0)

我刚刚遇到这个问题。

我有一个:我的CSS中的悬停样式,并且在运行java脚本时我不想要:悬停生效。我找不到删除类的方法所以我决定通过在头部附加一个带有新属性的新类来覆盖该类。

CSS

.myStyle:hover {
    display: block; background: #efefef;
}

的JavaScript

$("head").append("
    <style type='text/css'>
        .myStyle:hover { display: none; background: #ff0000; }
    </style>);

希望有所帮助