我正在使用jquery .css属性添加背景
myobj.css('background', '#AE0000');
Run Code Online (Sandbox Code Playgroud)
这导致将此样式的html添加到标记中
style="background: none repeat scroll 0% 0% rgb(174, 0, 0);"
Run Code Online (Sandbox Code Playgroud)
稍后,我想删除此背景.我认为将css背景设置为白色myobj.css('background', '#FFFFFF');会起作用,但不幸的是,这会产生问题,因为div具有白色背景而不是任何东西.
style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"
Run Code Online (Sandbox Code Playgroud)
是否有类似的方式与jquery完全删除backgroundCSS 的属性?喜欢style=""
简答
myobj.css('backgroundColor', 'transparent');
Run Code Online (Sandbox Code Playgroud)
答案很长
我建议更好的可维护性,使用css类来做这样的事情:
.active { background:#AE00000 }
Run Code Online (Sandbox Code Playgroud)
然后在你的JavaScript中
myobj.addClass('active');
Run Code Online (Sandbox Code Playgroud)
切断
myobj.removeClass('active');
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,您不必担心css()每次更改设计时更改css值(如果使用),或者您需要为该特定元素添加更多标记.
例如,最后您需要在js中使用背景,字体大小和颜色:
myobj.css({'background':'#aaa', 'font-size':'15px', 'color':'red'});
Run Code Online (Sandbox Code Playgroud)
然后每当你需要关闭时:
myobj.css({'background':'none', 'font-size':defaultSize + 'px', 'color':'black'});
Run Code Online (Sandbox Code Playgroud)
如果你使用css,它不仅容易出错,而且更难维护:
.active { background:#AE00000; font-size:15px; color:red }
Run Code Online (Sandbox Code Playgroud)
然后在你的JavaScript中
myobj.addClass('active');
Run Code Online (Sandbox Code Playgroud)
切断
myobj.removeClass('active');
Run Code Online (Sandbox Code Playgroud)