Axel Richter: Problem mit for und Table-Elementen

Beitrag lesen

Hallo,

Ich habe ein Problem mit einer Funktion, die Bei einem Aufruf bestimmte Tabellen-Zeilen sichtbar macht (sie setzt den .style.display = "blocked"), und auf gleiche Weise auch verschwinden lässt.

Tabellenzeilen können aber mit der Eigenschaft display:block nicht wirklich umgehen. Ihre normale display-value ist display:table-row.

Das funktioniert auch.

Im IE.

Nur leider tauchen bei jedem Schließen der Elemente einige Leerzeilen in der Seite auf...
Demo: http://www.ptec-media.de/vm/index2.php?page=wines

Setze für standardkoforme Browser die Eigenschaft nicht auf block, sondern auf table-row. Das quittiert der IE mit einem Fehler. Fange diesen Fehler ab.

So etwa:

  
  function showYear(year) {  
    var counter = 1;  
    if (document.getElementById(year+"_"+counter).style.display == "none") {  
       for (var counter = 1; counter <= 2; counter++)  
         try {  
          document.getElementById(year+"_"+counter).style.display = "table-row";  
         } catch (e) {  
          document.getElementById(year+"_"+counter).style.display = "block";  
         }  
    } else {  
       for (var counter = 1; counter <= 2; counter++)  
         document.getElementById(year+"_"+counter).style.display = "none";  
     }  
  }  

viele Grüße

Axel