Eliminar estilos en línea | Programar Plus

Esta función también conserva el contenido oculto.

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

Uso

Llame a la función así:

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

Nota: La selección de todos los elementos de la página mediante una consulta con comodines puede resultar lenta, según la cantidad de elementos que haya en la página. Podría usar un conjunto más pequeño de elementos para tener un mejor rendimiento:

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

Código de Nathan Smith.

(Visited 9 times, 1 visits today)