Esta função também preserva o conteúdo oculto.
function remove_style(all) ( var i = all.length; var j, is_hidden; // Presentational attributes. var attr = ( 'align', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'color', 'face', 'height', 'hspace', 'marginheight', 'marginwidth', 'noshade', 'nowrap', 'valign', 'vspace', 'width', 'vlink', 'alink', 'text', 'link', 'frame', 'frameborder', 'clear', 'scrolling', 'style' ); var attr_len = attr.length; while (i--) ( is_hidden = (all(i).style.display === 'none'); j = attr_len; while (j--) ( all(i).removeAttribute(attr(j)); ) // Re-hide display:none elements, // so they can be toggled via JS. if (is_hidden) ( all(i).style.display = 'none'; is_hidden = false; ) ) )
Uso
Chame a função assim:
var all = document.getElementsByTagName('*'); remove_style(all);
Observação: a seleção de todos os elementos da página por meio de uma consulta curinga pode ser lenta, dependendo de quantos elementos estão na página. Você pode usar um conjunto menor de elementos para ter mais desempenho:
var set = document.getElementById('foo').getElementsByTagName('bar'); remove_style(set);
Código de Nathan Smith.