Gunnar Bittersmann: Onmouseover bei Tabellen

Beitrag lesen

@@EKKi:

document.write("<TABLE bgcolor='lightgrey' onMouseOver=&#34;this.bgColor='moccasin'&#34;><TR><TD>test</TD></TR></TABLE>");

Ich weiß nicht, ob das mit den &#34; so eine gute Idee ist.

Das ist es nicht. Für JavaScript ist "&#34;" nichts weiter als die Folge der Zeichen '&', '#', '3', '4', ';'.

Numerische Zeichenreferenzen werden von JavaScript nicht in die entsprechenden Zeichen umgewandelt, denn Script-Bereiche sind CDATA.

(In XHTML als 'application/xhtml+xml' sähe das anders aus. [PCDATA-CDATA])

Ich würde den Aufruf vielmehr folgendermaßen schreiben:

document.write('<table bgcolor="lightgrey" onmouseover="this.bgColor=\'moccasin\';"><tr><td>test</td></tr></table>');

Ich würde auf document.write() verzichten und es richtig[tm] machen: innerHTML oder DOM-Methoden.

Live long and prosper,
Gunnar

--
„Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)