javascript – 如何删除重要的CSS属性?

如果元素样式属性很重要(通过style =“”或JS设置),如何删除它?

removeproperty()不起作用(jsfiddle):

elem.style.setProperty('background','#faa','important');
elem.style.removeProperty('background'); // doesn't work

(最好是无框架解决方案,它只需要在Chrome中运行.)

解决方法

您无法删除属性的原因是因为它是一个速记属性.

设置它时,实际上会添加其他属性,但没有“background”属性,因此没有要删除的“background”属性.

在这种情况下,你可以这样取消设置:

elem.style.removeProperty('background-color');

通常,您需要取消设置由速记属性表示的每个“long-hand”属性.

你也可以这样做来覆盖它:

elem.style.setProperty('background','inherit','important');

或者你可以像这样核对元素的整个内联样式:

elem.style.csstext = '';

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...