如何删除使用. css()函数添加的样式?

if(color != '000000') $("body").css("background-color", color); else // remove style ?

答案

将属性更改为空字符串似乎可以完成此工作:

$.css("background-color", "");

可接受的答案有效,但是在我的测试中 DOM 上留有空的style属性。没什么大不了的,但是这消除了这一切:

removeAttr( 'style' );

假定您要删除所有动态样式并返回样式表样式。

有几种使用 jQuery 删除 CSS 属性的方法:

1. 将 CSS 属性设置为其默认(初始)值

.css("background-color", "transparent")

请参阅MDN 的 CSS 属性初始值 。这里的默认值是transparent 。您还可以对多个 CSS 属性使用inherit ,以从其父项继承该属性。在 CSS3 / CSS4 中,您也可以使用initialrevertunset但是这些关键字可能对浏览器的支持有限。

2. 删除 CSS 属性

空字符串将删除 CSS 属性,即

.css("background-color","")

但是要注意,如jQuery .css()文档中所指定的那样,这会删除该属性,但是它对某些 CSS 速记属性(包括background)与 IE8 存在兼容性问题。

将样式属性的值设置为空字符串,例如 $('#mydiv')。css('color','')- 如果该属性已被直接应用(无论是 HTML 样式),则会从元素中删除该属性属性,通过 jQuery 的. css()方法或通过对 style 属性的直接 DOM 操作。但是,它不会删除样式表或元素中已应用 CSS 规则的样式。警告: 一个值得注意的例外是,对于 IE 8 及更低版本,删除快捷方式属性(例如 border 或 background)将完全从元素中删除该样式,而不管样式表或 element 中的设置是什么

3. 删除元素的整个样式

.removeAttr("style")

我有办法使用纯 JavaScript 删除样式属性,只是让您知道纯 JavaScript 的方法

var bodyStyle = document.body.style;
if (bodyStyle.removeAttribute)
    bodyStyle.removeAttribute('background-color');
else        
    bodyStyle.removeProperty('background-color');

这将删除完整的标签:

$("body").removeAttr("style");

这些 jQuery 函数中的任何一个都应该起作用:

$("#element").removeAttr("style");
$("#element").removeAttr("background-color")

只需使用:

$('.tag-class').removeAttr('style');

要么

$('#tag-id').removeAttr('style');

怎么样:

var myCss = $(element).attr('css');
myCss = myCss.replace('background-color: '+$(element).css('background-color')+';', '');
if(myCss == '') {
  $(element).removeAttr('css');
} else {
  $(element).attr('css', myCss);
}

使用我的插件:

$.fn.removeCss=function(all){
        if(all===true){
            $(this).removeAttr('class');
        }
        return $(this).removeAttr('style')
    }

对于您的情况,请按以下方式使用:

$(<mySelector>).removeCss();

要么

$(<mySelector>).removeCss(false);

如果您还想删除其类中定义的 CSS:

$(<mySelector>).removeCss(true);

尝试这个:

$('#divID').css({"background":"none"});// remove existing

$('#divID').css({"background":"#bada55"});// add new color here.

谢谢