我有一个脚本,它将一个类添加到悬停的元素上。CSS和Jquery:addClass不覆盖css
问题是新增加的类似乎没有'覆盖'现有的css(尽管在我的样式表中添加的类是在现有的css下面列出的)。
我不能在元素上使用removeClass,因为没有实际的初始类样式元素。
的 '初始' 的造型需要被重写为:
#menu ul li ul li {
background-color: #ccc;
}
需要添加的类是:
.whitebg {
background-color: #fff;
}
我的脚本是:
$('#menu ul li ul li').hover(
function() {
$(this).addClass('whitebg');
},
function() {
$(this).removeClass('whitebg');
}
);
有没有人知道我可以解决这个问题的方法?
谢谢!
如果存在多个针对相同规则的规则,则需要了解[CSS特异性](http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/)具有不同选择器的对象。 – jfriend00
关于CSS的特殊性,一个很好的小工具比较两个选择器的重量时有疑问http://specificity.keegan.st/ – Nobita
为什么使用jQuery'.hover()'方法呢?改为使用CSS伪选择器':hover'。我的3级菜单(带菜单的子菜单的菜单栏)需要准确的零线。你的CSS可以有不同颜色的'#menu ul li li ul'和'#menu ul li li li:hover'。由于我们在导航过程中改变颜色的方式,我们也有'#menu ul li:hover ul li'和'#menu ul ul li li:hover li'规则。我们稍后*用javascript *定时器*增强了菜单*,所以当鼠标在矩形外漂移时,菜单不会快速关闭。 –