清除所有 Javascript 应用的样式
Clear all Javascript-applied styles
假设我们有这个
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>
//
$("div").css("color", "red");
$("#click").click(function () {
$("*").removeAttr("style");
});
请记住James Bruckner的警告,这会杀死所有硬编码到原始HTML中的内联样式。由于Javascript通过操作style属性来更改CSS,因此没有真正的方法来区分什么是原始的,什么是以编程方式设置的。(编辑。请参阅下面的评论。
http://jsfiddle.net/FASvA/
作为一个选项,您可以将初始style
属性 ( e._originalStyle = e.style.cssText
) 存储在私有属性中,并在需要删除通过 javascript 应用的所有样式时恢复它 ( e.style.cssText = e._originalStyle
)
相关文章:
- 使用css类将自定义样式应用于上下文按钮的Highcharts
- 将动态CSS样式应用于谷歌地图的标记
- 将动态样式应用于数据表行
- 将样式应用于融合表上的图标时,会得到意外的标识符
- 将格式样式应用于同义词
- AJAX:行的 CSS 样式应用程序
- 如何将样式应用于类的单个元素,同时从同一类的前一个元素中删除样式
- 如何将基于条件的样式应用于剑道 UI 网格
- 引用 JavaScript 地铁风格应用的 C# 地铁样式应用
- CKEDITOR将样式应用于选区
- 如何选择所有节点并将 css 样式应用于所有节点,D3
- 如何将日志或文本文件写入 Metro 样式应用程序中的文件系统
- 如何将css样式应用于动态JavaScript数组
- 使用jQuery将不同的样式应用于同一元素的各个部分
- 将样式应用于双击的文本
- knockout.js将样式应用于下拉选项
- 将CSS样式应用于子节点
- 将样式应用于'它不在任何HTML标记中
- 如何将样式应用于表中的偶数行或奇数行
- 如何手动将特定样式表中的样式应用于元素