ChrisB: Internet Explorer macht innerHTML kaputt

Beitrag lesen

Hi,

Leider gibt mit der Internet Explorer einen völlig kaputten Code zurück, wenn ich innerHTML abfrage. Da werden Elementnamen plötzlich groß geschrieben, manche Anführungszeichen fehlen, usw.

So funktioniert das natürlich nicht, da meine JavaScript-Funktionen einen ganz anderen (zudem invaliden) Code zurückbekommen, als ich geschrieben habe.

Das Problem kannst du aber auch in anderen Browsern bekommen.
Wenn du innerHTML etwas zuweist, und es anschließend wieder ausliest, besteht keinerlei Garantie, dass das immer noch das selbe ist. innerHTML ist keine Eigenschaft, um Stringwerte zu „speichern“ - sondern eine *Schnittstelle* zum DOM.
Dein HTML-Code, den du zuweist, wird vom Browser geparst, und in eine DOM-Knotenstruktur umgesetzt.
Wenn du dann innerHTML wieder ausliest, dann passiert das gleiche Rückwärts - der Browser baut aus seinem DOM wieder eine HTML-Repräsentation in Textform.

Auf den Seiten, die ich bisher dazu gefunden habe, wurde gesagt, man soll den ausgelesenen Code durch eine (selbst geschriebene) Funktion laufen lassen, die ihn wieder korrigiert, die also Anführungszeichen wieder einfügt usw.
Das kann doch nicht ernsthaft die einzige Lösung sein?

Da du kein konkretes Problem beschrieben hast, kann ich dir nicht sagen, was überhaupt irgendwofür eine Lösung sein könnte oder nicht.

Darf ich dieses Verhalten als Fehler bezeichnen?

Du darfst dein Vorgehen als fehlerhaft betrachten.

Wie kann ich dem IE beibringen, dass er mir das zurückgeben soll, was drin steht?

Was wo „drin steht“?

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?