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

Jquery addclass(),如何处理类冲突,jquery,css,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:ho

我正在导航。
这里是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(“已选”)
时,所选按钮不会改变颜色。我认为这是因为将有两个类“navA”和“selected”,它们都定义了背景色。我的问题是如何使选定的班级获胜。
非常感谢

你绝对想看这个:

你绝对想看这个:

你可以添加!重要的

.selected {
    background-color:#336699 !important;
}
这将使此规则凌驾于其他规则之上。然而,如果你只是写了更好的css就更好了

编辑

例如,如果您想为同时具有.navA和.selected的按钮使用不同的bg颜色,您可以这样编写CSS

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

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

您可以添加!重要的

.selected {
    background-color:#336699 !important;
}
这将使此规则凌驾于其他规则之上。然而,如果你只是写了更好的css就更好了

编辑

例如,如果您想为同时具有.navA和.selected的按钮使用不同的bg颜色,您可以这样编写CSS

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

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

你能给我一些提示吗?您的意思是我可以将一个大类(如:link.navA)拆分为许多小类吗?然后在元素中添加几个类?我的意思是,通过定位CSS,您可以轻松地修复它。User Capsule的链接就是一个很好的例子:我在我的答案中添加了一个示例,这样你就可以看到了。使用双类选择器时要小心,它在IE6中不起作用。您最好在其中使用一些ID来获得某种特定性。这个重要的解决方案也很好,但有点过于激进;-)是啊!重要的事情会起作用。但是在这个过程中的某个地方,你会想,当你定义了另一种bg颜色时,为什么你会得到一种bg颜色,而你却意识到有一种颜色!把事情搞砸了。更好的CSS总是解决方案。你能给一些提示吗?您的意思是我可以将一个大类(如:link.navA)拆分为许多小类吗?然后在元素中添加几个类?我的意思是,通过定位CSS,您可以轻松地修复它。User Capsule的链接就是一个很好的例子:我在我的答案中添加了一个示例,这样你就可以看到了。使用双类选择器时要小心,它在IE6中不起作用。您最好在其中使用一些ID来获得某种特定性。这个重要的解决方案也很好,但有点过于激进;-)是啊!重要的事情会起作用。但是在这个过程中的某个地方,你会想,当你定义了另一种bg颜色时,为什么你会得到一种bg颜色,而你却意识到有一种颜色!把事情搞砸了。更好的CSS始终是解决方案。