Sagar: Onmouseover bei Tabellen

Hallo!
Kann mir jemand sagen, warum folgende zeile nicht funktioniert:

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

Ich möchte damit eine neue Tabelle erstellen und die hintergrundfarbe ändern, sobald eine maus auf der Tabelle ist. Was mache ich falsch ??
Geht das vllt nicht bei einer per JAVASCRIPT eingefügten Tabelle ?

  1. Mahlzeit,

    Kann mir jemand sagen, warum folgende zeile nicht funktioniert:

    Was genau "funktioniert" nicht an der Zeile? Das Einfügen des Textes in das HTML-Dokument? Wird keine Tabelle angezeigt? Passiert beim Drüberfahren über die Tabelle mit der Maus nichts?

    Wie wäre es mit einer aussagekräftigen und hilfreichen Problembeschreibung? Hast Du in der Javascript-Fehlerkonsole (nein, nicht die vom IE: die liefert in den seltensten Fällen brauchbare Informationen) nachgeschaut?

    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. 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 möchte damit eine neue Tabelle erstellen und die hintergrundfarbe ändern, sobald eine maus auf der Tabelle ist. Was mache ich falsch ??

    Zum Beispiel das Fragen-stellen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. @@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)
      1. Mahlzeit,

        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', ';'.

        Das ist mir klar. Du kennst das von mir verwendete rhetorische Stilmittel?

        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.

        Ich würde es auch richtig[tm] machen. Ich schrieb ja nur, dass ich beim Aufruf von document.write() den String anders zusammenbasteln würde. Ansonsten würde ich auch eher DOM-Methoden und vor allem keinen antiquierten Blödsinn wie http://de.selfhtml.org/html/tabellen/gestaltung.htm#hintergrund@title=this.bgColor verwenden.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|