Hallo Sven.
Dieser Teil wird für jedes HTML-Element aufgerufen. In node.attributes stehen alle Attribute des HTML-Elements drin.
Genau da ist der Fehler. Laut Dokumentation http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/specified.asp enthält node.attributes im IE _alle_ für dieses Element möglichen Attribute. Und genau deshalb dürfte im IE das falsche Ergebnis rauskommen (irgendein Attribut ist immer false).
Wie kann ich dem IE beibringen, dass ALLE meine im Quelltext definierten Attribute diesen Test mit "true" bestehen und dadurch in meinem Editorquelltext bestehen bleiben?
Dir wird nichts anderes übrigbleiben, als das Array Element für Element durchzugehen und nur diejenigen Attribute abzufragen und ggf. zu extrahieren, die du brauchst. Zugriff auf den Attributnamen hast du bekanntlich mit nodeName, auf den gesetzten Wert mit nodeValue. Ich habe mal spaßeshalber das Beispiel der oben verlinkten Seite hochgeladen, vielleicht hilft dir das weiter: http://test.anaboe.net/specified.html (ergibt natürlich nur beim Aufruf im IE einen Sinn). Es sieht jedenfalls so aus, als ob es bestimmte Attribute gibt, die der IE als "required" einstuft, und deshalb je nachdem, ob ein Wert gesetzt wurde oder nicht, 'false' oder 'true' zurückgibt, denn in allen anderen Fällen (auch bei Eventhandlern) liefert er 'null'.
Du kannst den Test ja mal im Hinblick auf dein zu untersuchendes HTML-Element umschreiben, vielleicht hilft dir das irgendwie weiter. Ansonsten bleibt dir wie gesagt wohl nur die oben genannte Möglichkeit, denn das Verhalten 'null' oder 'false' scheint mir ein wenig willkürlich zu sein. Aber vielleicht weiß jemand noch mehr :)
Freundschaft!
Siechfred
Wissen bedeutet zu wissen, wo es steht.