代码工作意义,.highlight类被添加到div但颜色不会改变。只有当div的默认css类没有定义背景颜色时,颜色才会改变。换句话说,如果div被定义为包含说背景颜色的类:白色;添加.highlight类但颜色不会改变。
这是正常还是我错过了什么?现在,我正在使用.css('background-color',....)来突显亮点,但我很好奇为什么.addClass方法不起作用。
感谢。
答案 0 :(得分:11)
您的原始CSS类会覆盖新的类。
您可以通过将!important
添加到悬停规则,或者使其选择器更具体,或者在CSS中的原始类之后移动它来阻止这种情况。
答案 1 :(得分:2)
也许你应该尝试在CSS中设置!important
标志。
.highlight {
background-color: #ff0000 !important;
}
答案 2 :(得分:2)
我怀疑问题在于如何应用原始背景颜色并与cascade priority and specificity相关。原始背景颜色的CSS选择器可能比类更具体,并且优先。例如,通过id或它在DOM中的位置指定元素的选择器比简单的类指示符更具体。使类声明!important
或降低原始CSS选择器的特异性(如果可能)都应该有效。
答案 3 :(得分:1)
尝试
background-color:#f00 !important;
答案 4 :(得分:1)
如果你有两个类,并且它们都指定了背景颜色,那么使用哪种颜色取决于定义两个类的样式的位置。