Inline-Stile entfernen - CSS-Tricks

Anonim

Diese Funktion bewahrt auch versteckte Inhalte.

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; ) ) )

Verwendung

Rufen Sie die Funktion folgendermaßen auf:

var all = document.getElementsByTagName('*'); remove_style(all);

Hinweis: Die Auswahl aller Elemente auf der Seite über eine Platzhalterabfrage kann abhängig von der Anzahl der Elemente auf der Seite langsam sein. Sie könnten einen kleineren Satz von Elementen verwenden, um eine bessere Leistung zu erzielen:

var set = document.getElementById('foo').getElementsByTagName('bar'); remove_style(set);

Code von Nathan Smith.