假设我们有这个
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()
一样。
答案 0 :(得分:4)
你走了:
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div id="click">click</div>
//
$("div").css("color", "red");
$("#click").click(function () {
$("*").removeAttr("style");
});
请记住James Bruckner警告说,这会杀死所有硬编码到原始HTML中的内联样式。由于Javascript通过操作样式属性来更改CSS,因此没有真正的方法来区分原始内容和以编程方式设置的内容。 (编辑。见下面的评论。)
答案 1 :(得分:2)
作为一个选项,您可以将初始style
属性(e._originalStyle = e.style.cssText
)存储在私有属性中,并在需要删除通过javascript(e.style.cssText = e._originalStyle
)<应用的所有样式时恢复它/ p>