删除页面中所有样式的最简单方法
问题描述:
我需要使用javascript删除页面中的所有样式定义,以获得与执行 View>相同的结果页面样式> Firefox中没有样式
。哪种方法最简单?
I need to remove all the style definitions in a page using javascript, to obtain the same result as doing View > Page Style > No Style
in Firefox. Which is the simplest way?
答
您可以 递归迭代 所有元素并删除样式
属性:
function removeStyles(el) {
el.removeAttribute('style');
if(el.childNodes.length > 0) {
for(var child in el.childNodes) {
/* filter element nodes only */
if(el.childNodes[child].nodeType == 1)
removeStyles(el.childNodes[child]);
}
}
}
removeStyles(document.body);
要删除链接的样式表,您还可以使用以下代码段:
To remove linked stylesheets you can, in addition, use the following snippet:
var stylesheets = document.getElementsByTagName('link'), i, sheet;
for(i in stylesheets) {
sheet = stylesheets[i];
if(sheet.getAttribute('type').toLowerCase() == 'text/css')
sheet.parentNode.removeChild(sheet);
}