2011-12-01 28 views
6

Estoy desarrollando una página web en la que me gustaría agregar la etiqueta de estilo dinámicamente desde un archivo externo de JavaScript.Cómo agregar una etiqueta de estilo en una página web desde el archivo javascript (js) externo

estoy usando el código que no funciona

this.addStyle = function() 
    { 
     if (! this.inited) { 
      alert("not inited"); 
      return; 
     } 
     var head = document.getElementsByTagName('head')[0], 
     style = document.createElement('style'), 
     rules = document.createTextNode('.bodys { bgcolor="red"; }'); 
     style.type = 'text/css'; 
     if(style.styleSheet) 
      style.styleSheet.cssText = rules.nodeValue; 
     else style.appendChild(rules); 
      head.appendChild(style); 
    } 
+0

Utilice algún formato de código para su pregunta. – cederlof

Respuesta

1

Cambio .bodys{ bgcolor="red"; } a .bodys{background-color:red}

1

No todos los navegadores son aplicables a los nodos de texto generados. MediaWiki utiliza

var s = document.createElement('style'); 
s.type = 'text/css'; 
s.rel = 'stylesheet'; 
if (s.styleSheet) { 
    s.styleSheet.cssText = text; // IE 
} else { 
    s.appendChild(document.createTextNode(text + '')); // Safari sometimes borks on null 
} 

Por supuesto, también siga alberts answer.

+0

No estoy seguro de si realmente 's.rel = 'stylesheet';' es necesario. – Bergi

Cuestiones relacionadas