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

JavaScript

GO西门

2020-03-10

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

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

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

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

第428篇《如何删除使用.css()函数添加的样式?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

7个回答
Stafan神乐 2020.03.10

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

$(element).style.attr = '  ';
神奇小小 2020.03.10

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

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

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

宝儿猿 2020.03.10

2018年

有本机API

element.style.removeProperty(propery)
泡芙村村Pro 2020.03.10

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

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

然后替换为:

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

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

$("#element").attr("style.background-color",color);
米亚凯 2020.03.10

这将删除完整的标签:

  $("body").removeAttr("style");
Green老丝Itachi 2020.03.10

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

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

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

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android