Alexander Foken: CSS-Klasse per Javascript definieren

Beitrag lesen

Moin Moin !

Mein Problem: Eine Web-Anwendung, die nicht wirklich für CSS geschrieben wurde und mich nicht an den HEAD-Bereich des erzeugten HTML läßt. Trotzdem muß ich irgendwie diverse CSS-Klassen definieren. Funktionieren muß das mit IE ab 5.0 und Mozilla, NN4 bleibt erstmal außen vor.

So wie unten funktioniert es mit Opera 7 und Mozilla 1.6, der IE mag aber nicht.

var extrastyles='*.orga_togglebox{font-family:monospace;text-decoration:none;}';
 var o=document.getElementsByTagName("head")[0];
 var stylenode=document.createElement('style');
 var styletype=document.createAttribute("type");
 styletype.nodeValue="text/css";
 stylenode.setAttributeNode(styletype);
 var datanode=document.createTextNode(extrastyles);
 stylenode.appendChild(datanode);
 o.appendChild(stylenode);

Zweiter Ansatz für IE, keine Fehlermeldung, keine Funktion:

document.all.tags("head")[0].insertAdjacentHTML("AfterBegin",'<style type="text/css">'+extrastyles+'</style>');

Dritter Ansatz für IE:

var o=document.all.tags("head")[0];
 o.innerHTML=o.innerHTML+'<style type="text/css">'+extrastyles+'</style>';

Fehlermeldung: "Could not set the innerHTML property. Invalid target element for this operation."

Hat noch jemand eine Idee? Vielleicht habe ich ja auch etwas übersehen. Sowas wie

document.style.classes['orga_togglebox'].fontFamily="monospace";

wäre ja zu schön, um wahr zu sein. ;-)

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".