Hi,
[..] Das füge ich mithilfe von innerHTML in das Dokument ein.
Nun frage ich mich allerdings, ob das wirklich die beste Möglichkeit für so etwas ist. Denn innerHTML ist ja kein Standard
Es ist seit Jahren Quasi-Standard, und inzwischen mit HTML5 auch vom W3C standardisiert.
und außerdem wage ich mich zu erinnern, dass es bei XHTML Probleme macht.
Nein, tut's nicht.
Eine andere Idee von mir war, das responseXML eines XMLHttpRequests in den DOM-Baum einzufügen. Allerdings werden da die Attribute nicht übernommen und das <a>-Element beispielsweise wird nicht als Link erkannt.
Und wie hast du das versucht?
Meine letzte Idee war es, den String selbst zu parsen und daraus ein normales DOM-Element zu erzeugen. Allerdings übersteigt das meine Fähigkeiten.
Wäre auch relativ sinnfrei.
Es ist eine der grundlegendesten Fähigkeiten von Browsern, HTML parsen zu können. Wenn du innerHTML benutzt, kann der Browser genau die gleichen Mechanismen zur Anwendung bringen, die er sowieso implementiert hat, um HTML zu parsen, wenn es nicht aus einem Textstring stammt, sondern aus einer von im selber direkt angeforderten HTML-Ressource.
Jegliche Versuche, selber einen Parser in JavaScript zu basteln, der das gleiche leistet, werden garantiert extrem viel langsamer sein.
Wie füge ich nun so ein Fragment richtig in ein Dokument ein? Oder gibt es dazu keine standardkonforme Möglichkeit?
Du kannst einen Knoten aus deinem XML-Dokument auch mittels importNode in dein aktuelles Dokument importieren - dann kannst du ihn anschliessend in dessen DOM einfügen, wie sonst auch. Allerdings hat der IE diese Methode erst ab Version 8 implementiert.
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]