Robert Bienert: XHTML und document.write

Beitrag lesen

Moin!

So, jetzt lege ich dir mal ein kleines Ei ins Nest ;-)

Nein, nein, es liegt daran das man keine childelemente im scriptbereich haben darf, also das <img Tag.
Genauso wenig geht <p> oder irgendein anderer HTML-Tag.

Du verwendest XHTML, also einen XML-Dialekt. Hast du dir mal überlegt, was ein XML-Parser in deinem Script-Code sieht:

<script type="text/javascript">  
 document.write('<img id="baeumchenwechseldich" src="eins.jpg" ... >');  
 bilder_wechsel_script();  
</script>

Genau, nach einem (nicht maskierten) Apostroph beginnt ein img-Tag, der zudem noch nicht geschlossen ist, abgesehen von unmaskierten Anführungszeichen. Vielleicht solltest du eine andere Notation probieren:

<script type="text/javascript">  
 document.write(&apos;&lt;img id=&quot;baeumchenwechseldich&quot; src=&quot;eins.jpg&quot; ... /&gt;');  
 bilder_wechsel_script();  
</script>

oder bequemer:

<script type="text/javascript">  
/*<!CDATA[*/  
 document.write('<img id="baeumchenwechseldich" src="eins.jpg" ... >');  
 bilder_wechsel_script();  
/*]]>*/  
</script>

Man kann/soll document.write nicht verwenden.

Vielleicht aus <http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style@title=diesem Grund>.

[…] Der genaue Mecker ist, (sorry, habe ich eben vergessen):

  • document type does not allow element "img" here. -

Sagt ich doch.

Frohe Ostern,
Robert