Удалить встроенные стили онлайн урок.


Эта функция также сохраняет скрытый контент.

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

# Использование

Вызвать эту функцию следующим образом:

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

Примечание. Выбор всех элементов на странице с помощью подстановочного запроса может быть медленным, в зависимости от количества элементов на странице. Вы можете использовать меньший набор элементов для более высокой производительности:

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

Код Натана Смита.