Hallo,
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.
Das ist unschön, sehr unschön. Was hat ein JavaScript-Fehler mit einem bestimmten Verhalten von MSIE zu tun?
Nichts. Jeder Client, der ...display="table-row" mit einem Fehler quittiert, bekommt ja ...display="block". Was ist daran unschön? Gut, es könnte sein, dass er dann ...display="block" trotzdem nicht sinnvoll darstellen kann. Das kann man aber mit keiner Methode verhindern.
Browsererkennung über bestimmte Objekte wäre zuverlässiger, aber alles andere als zukunftssicher.
Eben. Abgelehnt! ;-))
Ich würde das Problem daher in das Stylesheet verlagern. Sowieso sollte man Präsentationslogik und JavaScript-Logik möglichst nicht vermischen. Stattdessen ändert man die Klasse bzw. fragt ab, ob eine bestimmte Klasse bereits gesetzt ist. Die Klasse enthält dann display:table-row und für den MSIE ist mittels Conditional Comments ein Extra-Stylesheet eingebunden mit display:block.
Ja, das wäre die bessere Lösung. Eventuell liest mewX ja noch mit.
viele Grüße
Axel