Axel Richter: Problem mit for und Table-Elementen

Beitrag lesen

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