Pašalinti įterptinius stilius - CSS-gudrybės

Turinys

Ši funkcija taip pat išsaugo paslėptą turinį.

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

Naudojimas

Iškvieskite tokią funkciją:

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

Pastaba: Visų puslapio elementų pasirinkimas naudojant pakaitos užklausą gali būti lėtas, atsižvelgiant į tai, kiek elementų yra puslapyje. Norėdami būti efektyvesni, galite naudoti mažesnį elementų rinkinį:

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

Natano Smitho kodas.

Įdomios straipsniai...