Felix Riesterer: wenn man in Redmond eines kann, dann ist es PFUSCHEN!!

Beitrag lesen

Lieber Struppi,

Nein, umgekehrt der Inhalt wird als String übergeben. Allerdings ist die Zuweisung keine normale Stringzuweisung es passiert ja was.

Warum kann also dieses Schandwerk von IE nicht einfach das tun, was eine syntaktisch und logisch korrekte Programmierung verlangt?!!

Weil eben mehr passiert als du erwartest.

ich stelle fest, dass ich Dich schon richtig verstanden habe.

Bei der Wertzuweisung element.innerHTML = string; passiert selbstverständlich wesentlich mehr (DOM-Knoten erstellen und einhängen). Das wollte ich auch nie bezweifelt haben.

Aber was passiert bei variable = element.innerHTML? Es wird einer Variablen ein String zugewiesen! Und genau hier fängt mein Problem im IE an:

Diesen String kann der IE mittels variable.replace() nicht korrekt ersetzen.
Merke: Diese Stringoperation ist für sich genommen völlig losgelöst vom innerHTML-Kontext. Dein Einwand aus einem vorigen Posting von wegen "quasi live innerHTML mit einer regulären Ausdruck tauschen" passt somit nicht auf diese Situation (siehe mein Code-Beispiel aus meinem vorigen Posting). Es scheint, als ob der IE einfach den regulären Ausdruck nicht korrekt auf den String matchen kann (warum auch immer, denn andere Browser können das!!). Und genau hierher rührt mein Vorwurf (Stichwort "Patzer") an die Macher dieses markenbenamsten Bugs!

Liebe Grüße aus Ellwangen,

Felix Riesterer.