2014-12-11 39 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