2011-08-31 63 views
0

爲什麼我的toggleclass不起作用?ToggleClass無法正常工作

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

(該toggleclass()不工作,但它應該工作)

+0

從我可以看到它被撥動類'warnings_receiver_highlight'它只是有你'userGridViewItem'類中重寫這些樣式。 – Chad

+0

因此,CSS中的「級聯」最終獲勝,重新排序樣式表。 –

回答

1

它的工作,但風格越來越覆蓋。

嘗試這樣的:

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

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

+0

樣式選擇器的「重量」由!重要提高。值得注意的是,這也可以通過「後序」來解決,後者將後者的定義賦予更高的權重 - 所以重新排序以使LAST的高亮風格也起作用。 –

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; 
} 
0

我相信你的代碼工作正常,你剛纔似乎有與CSS特異性(HTTP的問題://coding.smashingmagazine。 COM/2007/7月27日/ CSS-特異性-東西 - 你 - 應知/)。一個解決辦法是增加!important的屬性下.warnings_receiver_highlight

1

如果我理解你想要什麼,你應該做的是放置在你的CSS爲warnings_receiver_highlight樣式的樣式userGridViewItem後。

0

將所需的覆蓋最後。此外,你可以申請!重要的風格,但要確保如果另一個!重要的,序列仍然會更高。你的小提琴頁最後還有一個額外的}

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