ToggleClass无法正常工作

时间:2011-08-31 20:06:45

标签: jquery css

为什么我的toggleclass不起作用?

http://jsfiddle.net/xH8ME/1/

toggleclass()不起作用,但它应该有效)

5 个答案:

答案 0 :(得分:1)

它正在运作,但样式正在被覆盖。

试试这个:

.warnings_receiver_highlight {
    background: #000 !important;
    color: #000  !important;
}

演示:http://jsfiddle.net/xH8ME/3/

答案 1 :(得分:1)

如果我理解你想要什么,那么你应该做的就是在warnings_receiver_highlight的样式之后将样式放在userGridViewItem的css中。

答案 2 :(得分:0)

切换类工作正常,你的CSS搞砸了我在这里有一个纠正的小提琴http://jsfiddle.net/xH8ME/2/

基本上你有两个定义如下的类。由于你的div有两个类,浏览器如何知道应该应用哪个背景?因为.userGridViewItem首先在元素中定义,该元素是从中提取背景颜色的类。要使其正常工作,您需要使用属性末尾的!important或使CSS类更具体,如div.warnings_receiver_highlight.userGridViewItem.warnings_receiver_highlight

.warnings_receiver_highlight{
    background: #000;
    color: #000;
}
.userGridViewItem{
    background: brown;
    color: #fff;
    width: 200px;
    height: 100px;
}

答案 3 :(得分:0)

我相信您的代码工作正常,您似乎遇到了CSS特异性问题(http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know /)。一种解决方案是将!important添加到.warnings_receiver_highlight

下的属性中

答案 4 :(得分:0)

最后放置所需的覆盖。此外,您可以对样式应用!important,但要确保如果给出另一个!重要,序列仍然会更重。您的小提琴页面最后还有一个额外的}

.userGridViewItem{
    background: brown;
    color: #fff;
    width: 200px;
    height: 100px;
}
.warningYellow{
    border: 3px solid yellow;
}
.warnings_receiver_highlight{
    background: #000 !important;
    color: #000 !important;
}