molily: Sinnloses <h1/h2> Element im DOM im IE

Beitrag lesen

Hallo,

Validatoren bedienen kann ich auch

Natürlich kannst du das. Nur solltest du es auch tun. ;)

ergründen warum der IE Elemente erstellt die nicht definiert wurden, das ist ausserhalb meiner Vorstellungskraft.

Wenn du fehlerhaftes Markup schreibst, versucht der Browser es beim Parsing zu korrigieren – weil der generierte DOM-Baum sinnvoll und konsistent sein muss (grob gesagt).

Bis vor einiger Zeit hat jeder Browserhersteller seine eigenen ausgereiften Algorithmen gehabt, um mit den Massen an fehlerhaftem Markup im Netz umzugehen. Heraus kamen sehr unterschiedliche Korrekturmechanismen, also dasselbe Markup wurde in unterschiedliche DOM-Repräsentationen geparst. Die Seite sah damit in einigen Browsern okay aus und in anderen total zerschossen. Das konnte man natürlich schon immer verhindern, indem man validen Code schreibt. ;)

HTML5 definiert nun den Umgang mit fehlerhaftem Markup. Daher wird dein fehlerhafter Code von neueren Browsern (Safari, Chrome, Firefox, Opera, IE10) gleich geparst – in einer Weise, die deiner Intention recht nahe kommt. IE9 hat den HTML5-Parsingalgorithmus aber noch nicht (vollständig) umgesetzt.

Nun vorstellbar?

Mathias