Siri: IE8, createElement und CSS/class

Hallo,

ich erzeuge ein neues Element:
var newElement = document.createElement("div");
Beim Einhängen des Elements werden die CSS-Stylesheet Eigenschaften nicht "aktiviert".

1. Versuch:
newElement.setAttribute("class", "testclass");

schlug fehl. Gegoogelt: hier und hier führt zum

2. Versuch:
newElement.className= "testclass";

Das neue Element hat keine CSS-Eigenschaften.

3. Versuch:
document.getElementsByTagName("body")[0].className = "testclass";

ist genauso gescheitert wie

4. Versuch:
targetElement = document.getElementById("testtarget");
targetElement.appendChild(newElement);

und

5. Versuch:

targetElement = document.getElementById("testtarget");
targetElement.innerHTML = newElement.innerHTML;

Hat noch jemand eine Idee (außer IE8 zu ignorieren)?

Viele Grüße
Siri

  1. @@Siri:

    nuqneH

    Beim Einhängen des Elements werden die CSS-Stylesheet Eigenschaften nicht "aktiviert".

    Kann ich nicht nachvollziehen.

    Qapla'

    --
    „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
  2. Hi,

    funktioniert bei mir:

      
    <!DOCTYPE html>  
    <title></title>  
    <style>  
    	[code lang=css].foo {border: 1em solid orange;}
    

    </style>
    <body>
    <script>
    ~~~javascript var foo = document.createElement('div');
    foo.className = 'foo';

    	document.body.appendChild(foo);
    
    	</script>  
    </body>[/code]  
      
    ~dave
    
  3. Hallo,

    eventuell funktioniert es mit der "Fragment"-Methode für den IE, wie es im Beitrag IE < 8 und setAttribute/getAttribute unter Punkt "setAttribute('type')" beschrieben ist:

      
    var newElement;  
      
    try	// IE7  
    {  
    	newElement = document.createElement('<div class="testclass">');  
    }  
    catch(e){}  
      
    if (!newElement) {  
    	// Andere Browser  
    	newElement = document.createElement("div");  
    	newElement.className = "testclass";	  
    }  
    
    

    Gruss,
    Worf

    1. @@Worf:

      nuqneH

      eventuell funktioniert es mit der "Fragment"-Methode für den IE

      Dass sowohl das Erzeugen eines Elements mit normaler DOM-Methode als auch das Setzen eines @class-Attributs als auch die Anwendung der Styles dafür auch im IE 8 funktioniert, wurde doch schon geklärt.

      Der Fehler muss irgendwo anders stecken.

      Qapla'

      --
      „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)