清除所有应用的Javascript样式
假设我们有这个清除所有应用的Javascript样式,javascript,css,Javascript,Css,假设我们有这个 var e = document.getElementById("someElement"); e.style.borderColor = "gold"; e.style.background = "yellow"; e.style.padding = "5px"; // more style modifications via javascript 可能在内联或外部CSS文件中设置了其他样式 是否有清除所有Javascript应用样式的方法?例如e.style.*=inher
var e = document.getElementById("someElement");
e.style.borderColor = "gold";
e.style.background = "yellow";
e.style.padding = "5px";
// more style modifications via javascript
可能在内联或外部CSS文件中设置了其他样式
是否有清除所有Javascript应用样式的方法?例如e.style.*=inherit
或e.removeJavaScriptAppliedStyles()
给你:
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div id="click">click</div>
请记住James Bruckner的警告,这会杀死所有硬编码到原始HTML中的内联样式。由于Javascript通过操纵style属性来更改CSS,因此没有真正的方法来区分什么是原始的,什么是通过编程设置的。(编辑。请参见下面的注释。)
给你:
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div id="click">click</div>
请记住James Bruckner的警告,这会杀死所有硬编码到原始HTML中的内联样式。由于Javascript通过操纵style属性来更改CSS,因此没有真正的方法来区分什么是原始的,什么是通过编程设置的。(编辑。请参见下面的注释。)
作为一个选项,您可以将initial
style
属性(e.\u originalStyle=e.style.cssText
)存储在私有属性中,并在需要删除通过javascript应用的所有样式时将其还原(e.style.cssText=e.\u originalStyle
)作为一个选项,您可以存储initialstyle
属性(e._originalStyle=e.style.cssText
)并在需要删除通过javascript应用的所有样式时将其还原(e.style.cssText=e.。_originalStyle
)您可以简单地删除style
属性(假设没有硬编码值应用于元素)。请注意,解决此问题的方法还将删除内联样式,而不仅仅是javascript应用的样式。您可以简单地删除style
属性(假设没有硬编码值应用于元素)。请注意警告:此问题的解决方案还将删除内联样式,而不仅仅是javascript应用的样式。当样式被更改时,向受影响的元素添加修改的类,然后在需要时在该类上运行选择器也是安全的。$(.modified”).removeAttr(“样式”)
Neat idea。额外的代码,但如果您需要此功能,这是避免问题的一个好方法。我认为此解决方案对我最有效,因为我的元素都没有内联样式。谢谢!或者您也可以使用data-attribute来代替类。您还可以通过向受影响的元素添加修改过的类来确保安全当一个样式被修改后,在需要时在该类上运行选择器。$(.modified”).removeAttr(“样式”)
Neat idea。额外的代码,但如果您需要此功能,这是避免问题的好方法。我认为此解决方案最适合我,因为我的所有元素都没有内联样式。谢谢!或者您也可以使用data属性,而不用使用类。