Inline stílusok eltávolítása - CSS-trükkök

Anonim

Ez a funkció megőrzi a rejtett tartalmat is.

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

Használat

Hívja így a függvényt:

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

Megjegyzés: Az összes elem kiválasztása az oldalon helyettesítő lekérdezéssel lassú lehet, attól függően, hogy hány elem van az oldalon. Használhat kisebb elemkészletet, hogy jobban teljesítsen:

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

Nathan Smith kódja.