Niko: IE7 zeigt Tabellen nicht an

Hallo,

Erstmal ein frohes neues an alle Leser :D

Ich habe mal wieder ein paar Probleme mit dem IE7. Ich schreibe einen JavaScript Kalender, der per AJAX Termine aus einer DB holt und sie als Tabellen in ein Div einfügen soll. Funktioniert wunderbar in Firefox 2+3 sowie Opera, nur leider nicht in IE7 bzw dort nur halb.

Hier mal der Codeausschnitt:

       var month_frame = new Element('table', {  
        'class': this.printClass('year_listing_month')  
       }).injectInside(overall);  
       var header_row = new Element('tr').injectInside(month_frame);  
       var header = new Element('td', {  
        'html': this.monate[i],  
        'class': this.printClass('year_listing_monthheader'),  
        'colspan': '10'  
       }).injectInside(header_row);  
  
       termine_month.each(function (termin, index) {  
        var termin_frame = new Element('tr', {  
         'class': this.printClass('year_listing_date')  
        }).injectInside(month_frame);  
        termin_frame.termin = termin;  
        dayframes.push(termin_frame);  
       }.bind(this));

Es ist mit Mootools geschrieben. Die trs aus dem dayframes-Array werden dann hinterher noch mit tds gefüllt. overall ist das übergeordnete Div.

So das Problem ist nun, dass IE die Tabellen und alles zwar richtig einfügt, aber sie dann nicht anzeigt. Wenn ich daraus Divs mache, dann zeigt er sie an (nur eben kein Tabellenlayout mehr). Wenn es Tabellen sind, so wie es oben steht sind sie im DOM-Baum drin, aber sind auf der Seite nicht zu sehen.

Hier noch zwei Bilder. Das erste ist ausm Firefox 3, das zweite aus IE7:

Ansicht in Firefox 3
Ansicht in IE7

Hoffe ihr könnt mir helfen.

Lg Niko

  1. Ich habe mal wieder ein paar Probleme mit dem IE7. Ich schreibe einen JavaScript Kalender, der per AJAX Termine aus einer DB holt und sie als Tabellen in ein Div einfügen soll. Funktioniert wunderbar in Firefox 2+3 sowie Opera, nur leider nicht in IE7 bzw dort nur halb.

    Der IE möchte explizit ein tbody Element um eine Tabelle darzustellen. D.h. du musst in das table Element erst ein tbody Element einfügen und dort dann die tr Elemente.

    Struppi.

    1. Hey Struppi,

      Der IE möchte explizit ein tbody Element um eine Tabelle darzustellen. D.h. du musst in das table Element erst ein tbody Element einfügen und dort dann die tr Elemente.

      Yes, das wars. Vielen Dank!

      Ich stolper über diesen Fehler jetzt schon zum 4. mal oder so und habs immernoch nicht gelernt! ^^ Naja ein Vorsatz fürs neue Jahr ;)

      Lg Niko