Lieber Toni,
<body>
<img id="Bild" src="Bild1.jpg" width="515" height="372" alt=""
onmouseover="tauschen (0, 'Bild2.jpg', txtBild2)"
onmouseout= "tauschen (0, 'Bild1.jpg', txtBild1)">
<div id="Text"
onmouseover="tauschen (0, 'Bild2.jpg', txtBild2)"
onmouseout= "tauschen (0, 'Bild1.jpg', txtBild1)">
<h1>Überschrift</h1><br>Text Bild1<b>Zeile 1</b><br>Text Zeile2<br><br><b>und ...</b>
</div>
</html>
Dein Code ist syntaktisch grenzwertig! Wenn Du dem Browser solche Fehler unterjubelst, darfst Du Dich nicht wundern, wenn er anfängt zu raten. Dass das Ergebnis nicht Deinen Vorstellungen entspricht, verwundert dabei nicht.
Zuallererst darf nach "onmouseout" kein Leerzeichen vor dem Istgleichzeichen stehen, da Leerzeichen innerhalb eines Tags als Trennzeichen zwischen den Attributen und ihren Werten verstanden werden. Vergleiche: `<a href ="#">link</a> - <a href="#">link</a>`{:.language-html} - Mit dem Syntaxhighlighting sollte sofort klar werden, dass ="#" als Attribut\_name\_ verstanden wird, anstatt der Wertzuweisung an das href-Attribut. Für Deine onmouseout-Attribute gilt oben dasselbe!
Dass Du den <body> am Ende nicht ordnungsgemäß geschlossen hast, ist unsauberer Stil. Ob das bei HTML4.01 strict etwas ausmacht, weiß der Validator besser als ich. Und dass ein <img>-Element kein Kindelement von <body> sein darf (da es ein Inline-Element ist, das ein umgebendes Blockelement braucht), solltest Du auch berücksichtigen!
Desweiteren solltest Du allen Ernstes semantischen Code verwenden!
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)