1

我正在使用 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 是否有类似的方法来完全删除backgroundCSS 的属性?像style=""

4

5 回答 5

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');
于 2012-04-05T09:32:16.960 回答
3

采用

myobj.css('backgroundColor', 'transparent');

看到它在行动

于 2012-04-05T09:31:40.637 回答
3

采用none

myobj.css('background', 'none');
于 2012-04-05T09:31:44.743 回答
1

我会说,这将是一个好方法

myobj.css({
  'background': 'none', //remove all the background property
  'backgroundColor': '#FFF' //then only set the background color property
});
于 2012-04-05T09:35:20.080 回答
0

css('background', 'none')将是你最好的选择:小提琴

于 2012-04-05T09:59:31.667 回答