Jquery addclass(),如何处理类冲突

时间:2011-02-22 16:59:45

标签: jquery css

我正在制作导航 这是CSS样式

a:link.navA, a:visited.navA  
{  
    display:block;  
    width:120px;  
    color:#FFFFFF;  
    background-color:#003366;  
    text-align:center;  
    padding:4px;  
    text-decoration:none;  
    font-family:Calibri;  
}  
a:hover.navA  
{  
    background-color:#336699;  
}  
.selected  
{  
    background-color:#336699;  
}  

当我选择一个按钮时,我希望该按钮的背景颜色会像其他人一样悬停在不同的颜色上。当我使用addclass("selected")时,所选按钮不会改变颜色。我认为这是因为它将有两个类“navA”和“selected”,它们都定义了背景颜色。我的问题是如何让选定的班级获胜。 非常感谢!

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

您可以添加!important

.selected {
    background-color:#336699 !important;
}

这将使此规则覆盖其他规则。但是,如果你只是写出更好的CSS,那会更好。

编辑

例如,如果你想为同时包含.navA和.selected的按钮设置不同的bg颜色,你可以像这样写你的CSS

.navA.selected {
    background-color:#336699;
}

这样的话会告诉浏览器任何具有navA AND类的项目都应该有不同的bg。这样,您就不需要添加!important。另外,请记住,只有在元素同时应用了两个类时,这才有效。