我正在使用jquery .css属性添加背景
myobj.css('background', '#AE0000');
这会导致将此样式的html添加到标记
style="background: none repeat scroll 0% 0% rgb(174, 0, 0);"
稍后,我想删除此背景。我认为将css背景设置为白色myobj.css('background', '#FFFFFF');
会起作用,但不幸的是,这会产生问题,因为div具有白色背景而不是任何东西。
style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"
与jquery有类似的方法来完全删除CSS的background
属性吗?比如style=""
答案 0 :(得分:5)
简答
myobj.css('backgroundColor', 'transparent');
长答案
我建议更好的可维护性,使用css类来做这样的事情:
.active { background:#AE00000 }
然后在你的javascript中
myobj.addClass('active');
关闭
myobj.removeClass('active');
这样做的好处是,您不必担心每次更改设计时更改css值(如果使用css()
),或者需要为该特定元素添加更多标记。
例如,最后你需要在你的js中使用背景,字体大小和颜色:
myobj.css({'background':'#aaa', 'font-size':'15px', 'color':'red'});
然后每当你需要关闭时:
myobj.css({'background':'none', 'font-size':defaultSize + 'px', 'color':'black'});
如果使用css:
,不仅容易出错,而且难以维护.active { background:#AE00000; font-size:15px; color:red }
然后在你的javascript中
myobj.addClass('active');
关闭
myobj.removeClass('active');
答案 1 :(得分:3)
答案 2 :(得分:3)
使用none
myobj.css('background', 'none');
答案 3 :(得分:1)
我想说,这将是一个好方法
myobj.css({
'background': 'none', //remove all the background property
'backgroundColor': '#FFF' //then only set the background color property
});
答案 4 :(得分:0)
css('background', 'none')
是您最好的选择:fiddle