清除所有应用Javascript的样式

时间:2013-09-13 23:04:13

标签: 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.* = inherite.removeJavaScriptAppliedStyles()一样。

2 个答案:

答案 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,因此没有真正的方法来区分原始内容和以编程方式设置的内容。 (编辑。见下面的评论。)

http://jsfiddle.net/FASvA/

答案 1 :(得分:2)

作为一个选项,您可以将初始style属性(e._originalStyle = e.style.cssText)存储在私有属性中,并在需要删除通过javascript(e.style.cssText = e._originalStyle)<应用的所有样式时恢复它/ p>