2014-12-11 43 views
1

我正在構建一個jQuery的移動應用程序,並在我的主題滾筒文件中,我已經爲我的按鈕(例如藍色)分配了顏色。現在,我的應用程序中有一些按鈕,我已將此css行添加到:如何覆蓋!使用javascript重要的背景圖像漸變

.navButton { 
background-image: linear-gradient(0, #333333, #424242, #515151) !important; 

此工作正常。問題是我想在某些js事件上更改此漸變。所以我嘗試添加下面一行到我的JS,但它不工作(除非我刪除上面的CSS行的話,就沒有問題重寫的ThemeRoller默認):

$("[name=serviceButton]").css('background-image', 'linear-gradient(0, #333333, #222222, #515151)'); 

是否有辦法在js行中添加「!important」?這是否會覆蓋css!很重要,還是取決於應用程序首先讀取哪一個?

謝謝!

回答

1

爲什麼不從.navButton

刪除

當您使用jquery.css(),它實際上一個樣式屬性添加到DOM '重要!'(樣式= 「背景圖片:XXX」)

通常style屬性的優先級高於.navButton,但'!important'是一個例外,它具有最高的優先級。

也許在jquery.css()中添加'!important'會起作用,我不確定。

+0

從css文件(在.navButton中)中刪除!important會導致它不覆蓋theme-roller文件。所以該按鈕忽略背景圖像漸變並保持藍色... 但很高興知道style屬性的優先級高於類標註。 :) 謝謝! – 2014-12-11 06:58:13