为什么我不能在css中更改背景属性?

时间:2014-01-15 03:16:05

标签: javascript jquery html css

html:

<div class="tpc_content">
    ....
</div>

这是样式代码段:

<style>
.tpc_content{ background: url('/aliwayWaterMaker.php') repeat !important; }
</style>

当我在Chrome中使用开发人员工具在控制台调用$('.tpc_content').css('background');时,输出为:

"rgba(0, 0, 0, 0) url(http://www.aliway.com/aliwayWaterMaker.php) repeat scroll 0% 0% / auto padding-box border-box"

然后我尝试通过命令$('.tpc_content').css('background', "rgba(20, 30, 40, 0)");设置此css属性,之后我再次发送$('.tpc_content').css('background');,输出仍然是:

"rgba(0, 0, 0, 0) url(http://www.aliway.com/aliwayWaterMaker.php) repeat scroll 0% 0% / auto padding-box border-box"

有人能告诉我如何在页面加载后通过jquery或javascript删除背景图片吗?

4 个答案:

答案 0 :(得分:3)

因为你在你的CSS中很重要....

过度骑行 $('.tpc_content').attr('style', 'backround="url(http://www.aliway.com/aliwayWaterMaker.php) repeat scroll 0% 0% / auto padding-box border-box !important"');

但最好不要使用!在你的CSS中很重要

答案 1 :(得分:2)

您可以使用cssText覆盖!important另一个:

$('.tpc_content').css('cssText', 'background: rgba(20, 30, 40, 0.5) !important');

http://jsfiddle.net/88L66/

来源:http://bugs.jquery.com/ticket/2066

答案 2 :(得分:0)

评价 - “你能解释一下为什么!重要的是限制我对房产的改变吗?”

css按以下顺序排列

类可以由id

覆盖
call < id

id可以由内联样式覆盖

id < inline

除非你使用!important然后才有!重要优先...覆盖的唯一方法是将!important添加到取代标识符

你所拥有的是一个有重要且正试图过度骑行的课程

.class + !important > inline

过度骑车的唯一方法就是让你的内联!重要

.class + !important < inline + !important

答案 3 :(得分:0)

这是使用原始DOM元素的方法,但是如果你使用的是jQuery,你可能会从jQuery.get()中获取它们:

Overriding !important with css or jquery

!important限制了使用.css()调用可以执行的操作,因为作者标记为!important的任何内容都具有比使用elem.css()应用的样式更高的特异性。