如果元素样式属性很重要(通过style=""
或JS设置),如何删除它?
removeProperty()
不起作用(jsfiddle):
elem.style.setProperty('background', '#faa', 'important');
elem.style.removeProperty('background'); // doesn't work
(最好是无框架解决方案,只需在Chrome中运行。)
答案 0 :(得分:13)
您无法删除该属性的原因是因为它是一个速记属性。
当你设置它时,实际上会添加其他属性,但没有“background”属性,因此没有要删除的“background”属性。
在这种情况下,你可以这样取消设置:
elem.style.removeProperty('background-color');
一般情况下,您需要取消设置由速记属性表示的每个“长手”属性。
你也可以这样做来覆盖它:
elem.style.setProperty('background', 'inherit', 'important');
或者你可以为这个元素核对整个内联样式:
elem.style.cssText = '';