2015-01-05 36 views
1

我有一個引導面板,我設法設置了正文的不透明度。使用jquery更改Bootstrap面板體的背景顏色

<div class="panel panel-default" style="background:none;"> 
    <div class="panel-heading">What is needed to perform activity?</div> 
     <div class="panel-body" id="needsBody"> 
      Panel content 
     </div> 
    </div> 

使用的CSS如下

#needsBody { 
    background: rgba(255, 255, 255, 0.3) !important; 
} 

我想設置這個顏色動態使用jQuery(或JavaScript)做如下雖然它不工作。

$("#needsBody").css("background", "rgba(175, 201, 99, 0.2) !important;"); 

如何有效地做到這一點?

+2

當你刪除'!important'時會發生什麼? –

+0

你在css屬性中有一個分號';' – pistou

+0

jQuery'.css()'方法不處理'!important'語句 –

回答

6

的jQuery忽略!important聲明,因爲它是完全沒有必要 - 元素的style屬性(這是jQuery的套)具有比CSS可以申請(除非你的CSS,百病!important聲明本身,這是不好的做法,對於這個確切的特異性更高原因)。放下!important,它會很好地工作:

$("#needsBody").css("background", "rgba(175, 201, 99, 0.2)"); 

對於這個工作,你需要從現有的造型刪除!important

#needsBody { 
    background: rgba(255, 255, 255, 0.3); 
} 

如果失敗了應用的樣式,只需增加通過提高選擇者的實力來提高其特異性:div.panel-body#needsBody { ... }

+1

CSS規則中仍然有'!important'語句 –

+0

@ A.Wolff我偶然編輯出我的答案似乎(因爲一個段落丟失,使其閱讀非常混亂!)。我已經添加了它。 –

+0

對不起,我的意思是OP在CSS中使用:'#needsBody {背景:rgba(255,255,255,0.3)!重要; }'我猜他可以從這裏刪除'!important'聲明 –

1

嘗試使用十六進制代替。它爲我工作。

$("#needsBody").css("background", "#AFC963"); 
1

CSS屬性應該是background-color這裏不需要!important。另外,你的CSS屬性中有一個分號。

嘗試使用:

$( 「#needsBody」)的CSS( 「背景色」, 「RGBA(175,201,99,0.2)」);。