Heute: wie löst man die Problematik, dass der Internet Explorer nichts mit dem CSS-Display-Typ “table-row” anfangen kann?
Grundproblem: ich musste mit einer Funktion Tabellenzeilen ein- und ausblenden. Am besten hat es bei mir mit einer Exception funktioniert:
var el= document.getElementById("el_id");
try
{
if(el) el.style.display= (el.style.display == "none" ? "table-row" : "none");
}
catch(e)
{
// Der IE bis V7 kann kein table-row, deshalb Fallback auf 'Block'
el.style.display= "block";
}
Für den Fall, das die Exception anspringt, wenn es das Element in der Variable “el” nicht gibt, habe ich vor dem Ansprechen des selben ein kleines IF eingebaut.
Nach einigen Hinweisen meiner lieben Leser, jetzt nochmal die JS-Kurzfassung:
var el= document.getElementById("el_id");
if(el) el.style.display= (el.style.display == "none" ? "" : "none");
Erklärung: Mit dem Leerstring wird der Browser dazu veranlasst, auf den Standard-Wert umzuspringen (Und der ist immer richtig, deshalb wird auch keine Exception geschmissen).
Ähnliche Artikel:





