我有一個灰色背景的按鈕列表,當單擊按鈕時,我想將按鈕的背景顏色更改爲藍色。我已經嘗試過jQuery的「addClass」,並添加了一個具有不同背景的類,但它沒有覆蓋元素背景(使用默認類設置)。我可以刪除默認類,但我需要保留它,因爲它用於引發其他事件。添加覆蓋元素背景屬性的類
我該如何做到這一點(如果甚至可以這樣)?
在此先感謝!
我有一個灰色背景的按鈕列表,當單擊按鈕時,我想將按鈕的背景顏色更改爲藍色。我已經嘗試過jQuery的「addClass」,並添加了一個具有不同背景的類,但它沒有覆蓋元素背景(使用默認類設置)。我可以刪除默認類,但我需要保留它,因爲它用於引發其他事件。添加覆蓋元素背景屬性的類
我該如何做到這一點(如果甚至可以這樣)?
在此先感謝!
您可以使用內聯css,它將覆蓋默認值;或者在你使用jQuery.addClass()添加的類中使用!important;即.btnCool {background:red!important;}
我真的很喜歡這個簡單的解決方案,非常感謝! – holyredbeard
我認爲問題出在您的.css文件中。 嘗試設置包含這兩個類的新CSS規則。
你也會有這樣的:
.class1 { styles }
.class1 .class2 { styles } //more specific, higher priority
希望它能幫助!
$('.btns').click(function(){
this.css({backgroundColor:'blue'});
});
或
.blue{background-color:blue!important}
$('.btns').click(function(){
this.addClass('blue');
});
你或許應該添加一些代碼的例子,因爲這可以有許多不同的變化,但在這裏就是答案假設大部分代碼是非常標準:
CSS樣式有一個層次結構,可以幫助他們決定使用哪個屬性。
例如:
.button{
background: blue;
}
.button.clicked{
background: red;
}
,只要你有一個按鈕,這也是點擊,因爲它指的是元素通過2班,而不只是一個第二條規則將贏得爭論。
非常相似的方式,如果您將顏色設置爲元素兩次,一旦使用它的類來引用它,並且一旦使用它的id,則id引用下的規則將獲勝,因爲它具有更高的優先級
試試這個fiddle
小心地顯示您的代碼? –