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

我正在使用jQuery更改CSS,并希望根据输入值删除要添加的样式:

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

我怎样才能做到这一点?请注意,只要使用颜色选择器选择了颜色(即,当鼠标移至色轮上时),以上行就会运行。

第二注:我不能这样做,css("background-color", "none")因为它将从css文件中删除默认样式。我只想删除background-colorjQuery添加内联样式。

Stafan神乐2020/03/10 10:27:56

Simple is cheap in web development. I recommend using empty string when removing a particular style

$(element).style.attr = '  ';
神奇小小2020/03/10 10:27:56

为什么不采用希望删除CSS类的样式呢?现在您可以使用:.removeClass()这也开辟了使用以下方法的可能性:.toggleClass()

(如果存在该类,则将其删除;如果不存在,则将其添加。)

在处理布局问题时,添加/删除类也不会造成更改/故障排除的混乱(相对于试图弄清为什么特定样式消失的原因)。

宝儿猿2020/03/10 10:27:56

2018年

有本机API

element.style.removeProperty(propery)
泡芙村村Pro2020/03/10 10:27:56

如果使用CSS样式,则可以使用:

$("#element").css("background-color","none"); 

然后替换为:

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

如果您不使用CSS样式,并且在HTML元素中具有属性,则可以使用:

$("#element").attr("style.background-color",color);
米亚凯2020/03/10 10:27:55

这将删除完整的标签:

  $("body").removeAttr("style");
Green老丝Itachi2020/03/10 10:27:55

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

$("#element").removeAttr("style");
$("#element").removeAttr("background-color") 
2020/03/10 10:27:55

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

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