我有一個腳本,它將一個類添加到懸停的元素上。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 *定時器*增強了菜單*,所以當鼠標在矩形外漂移時,菜單不會快速關閉。 –