Hallo,
dieses hätte ich eigentlich so formatiert, das im element <row> schon fixfertiges HTML enthält (also alle spans, a und img tags). Ich dachte mir ich nehm einfach das row-element, clone es und häng es im html dann ein. Jetzt wird zwar der TEXT der elemente kopiert, nicht aber die attribute.
Du versuchst XML-Elemente in ein HTML-Dokument einzuhängen. Dabei musst du zwei Dinge beachten:
- Im IE geht das prinzipiell gar nicht.
- In anderen Browsern (insb. Gecko/Firefox) werden die XML-Elemente nicht als HTML-Elemente erkannt, wenn du keine XHTML-Namespace-Angabe ins geladene XML-Dokument einfügst. Die Semantik der eingefügten Elemente wird also nicht erkannt, das heißt du fügst zwar z.B. ein Element namens h1 ein, aber der Browser erkennt es nicht als das h1-Element aus HTML. Ebenso werden die Attribute ignoriert, weil sie nicht aus dem XHTML-Namespace stammen.
Gibts eine möglichkeit das die mitgeklont werden, ohne jetzt eine Funktion zu schreiben?
Sie werden durchaus mitgeklont und auch eingehängt, aber nicht als HTML-Attribute erkannt, ebensowenig wie das Element, an dem sie hängen.
Namespace-Angabe für HTML-Elemente im XML-Dokument: xmlns="http://www.w3.org/1999/xhtml"
Wird dann an Kindelemente vererbt.
Beispiel:
<?xml version="1.0" encoding="UTF-8" ?>
<root><div xmlns="http://www.w3.org/1999/xhtml" style="color:red">bla</div></root>
Wenn du nun responseXML.documentElement.firstChild klonst, hast du ein echtes XHTML-Elemente, das du einhängen kannst, und dessen Attribute auch beachten werden (nur Firefox, Opera und Safari, nicht IE!).
Mathias