molily: 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? Nun, es ist tatsächlich schwer, an dieser Stelle zuverlässig in Erfahrung zu bringen, ob man table-row oder block setzen muss. Die try-catch-Methode jedenfalls halte ich für die schlechteste denkbare Browserweiche. Browsererkennung über bestimmte Objekte wäre zuverlässiger, aber alles andere als zukunftssicher. 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.

Mathias