Hapus Gaya Inline - Trik CSS

Anonim

Fungsi ini juga menjaga konten tersembunyi.

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

Pemakaian

Panggil fungsi seperti ini:

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

Catatan: Memilih semua elemen di halaman melalui kueri karakter pengganti bisa jadi lambat, bergantung pada berapa banyak elemen yang ada di halaman. Anda dapat menggunakan sekumpulan elemen yang lebih kecil agar lebih berkinerja:

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

Kode oleh Nathan Smith.