Frank: Problem mit this

Hi!

Das müsste doch funtionieren:

<tr onMouseOver="this.style='backgroundColor :#FFFFFF'" onMouseOut="this.style='backgroundColor :#DDDDDD'">

Wenn ich das allerdings in einem in einem IFrame versuche, bekomme ich die JS-Fehlermeldung "Mitglied nicht gefunden".
Da dürfte das IFrame doch eigentlich nichts ausmachen, oder?

  1. Hi Frank!

    <tr onMouseOver="this.style='backgroundColor :#FFFFFF'" onMouseOut="this.style='backgroundColor :#DDDDDD'">

    Ich kenne mich ja gar nicht mit JavaScript aus, aber ich glaube statt backgroundColor könntest du auch "blaBlubb" hinschreiben und das hätte den gleichen Effekt. Ich wage sogar zu behaupten, dass es den selben Effekt hätte.

    Zusatz: Die Hintergrundfarbe kannst du in Browsern[TM] bei Berührung auch mit CSS verändern.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hi,

      Ich kenne mich ja gar nicht mit JavaScript aus, aber ich glaube statt backgroundColor könntest du auch "blaBlubb" hinschreiben und das hätte den gleichen Effekt. Ich wage sogar zu behaupten, dass es den selben Effekt hätte.

      richtig. Beides sind nicht-existente CSS-Eigenschaften.

      Zusatz: Die Hintergrundfarbe kannst du in Browsern[TM] bei Berührung auch mit CSS verändern.

      Das hat er versucht. Was Du sicher sagen wolltest ist: ohne JavaScript ;-)

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hi Cheatah!

        Die Hintergrundfarbe kannst du in Browsern[TM] bei Berührung auch mit CSS verändern.
        Das hat er versucht. Was Du sicher sagen wolltest ist: ohne JavaScript ;-)

        Da ich mich mit JavaScript nicht auskenne, versteht sich das von selbst. ;-)

        MfG H☼psel,
        (der sich ins bunte Getümmel Dresdens stürzt!)

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        1. Also Jungs, vielen Dank, ABER: Genau dieselbe Anweisung geht fünf Zeilen über dem IFarme ohne Probleme.

          Ich versuche mal Eure Antworten etwas zu sortieren:

          • Klar kann ich einer Tablerow <tr> einen Hintergrund zuweisen
          • style='backgroundColor :#FFFFFF' ist kein willkürlicher Text, sondern die komplett richtige Schreibweise in JavaScript
          • "Beides sind nicht-existente CSS-Eigenschaften" --> Klar, ist ja auch JS, und dort ist die Namensgebung durchaus unterschiedlich.
          • Hover will ich nicht.

          Nochmal: Das funktioniert PRIMA ohne Iframe.

          Gruß
          Andi

          1. Ich kann das nur bestätigen. Wir sitzen jetzt schon den ganzen Abend vor dem Problem und es will einfach nicht.

            Wie Andi schon gesagt hat: Syntaktisch ohne Beanstandungen.

            Also Jungs, vielen Dank, ABER: Genau dieselbe Anweisung geht fünf Zeilen über dem IFarme ohne Probleme.

            Ich versuche mal Eure Antworten etwas zu sortieren:

            • Klar kann ich einer Tablerow <tr> einen Hintergrund zuweisen
            • style='backgroundColor :#FFFFFF' ist kein willkürlicher Text, sondern die komplett richtige Schreibweise in JavaScript
            • "Beides sind nicht-existente CSS-Eigenschaften" --> Klar, ist ja auch JS, und dort ist die Namensgebung durchaus unterschiedlich.
            • Hover will ich nicht.

            Nochmal: Das funktioniert PRIMA ohne Iframe.

            Gruß
            Andi

            1. Also, wir haben es jetzt gefunden: In dem IFrame wurde ein Ajax-Framework geladen, ohne dieses gings problemlos.

              Dürfte aber eigentlich nichts ausmachen. Da schließt sich natürlich die nächste Frage an...
              Im Moment suchen wir noch die genaue Ursache im Framework.

              Vielen Dank nochmal für Eure Hilfe.

              Gruß
              Andi + Frank

          2. Hallo,

            Also Jungs, vielen Dank, ABER: Genau dieselbe Anweisung geht fünf Zeilen über dem IFarme ohne Probleme.

            Ja? Will ich sehen! ;-)

            • style='backgroundColor :#FFFFFF' ist kein willkürlicher Text, sondern die komplett richtige Schreibweise in JavaScript

            Nein. Wenn das JavaScript ist, dann weist Du hier der [HTMLElement].style - Eigenschaft einen String zu. Das ist Unsinnig. JavaScript wäre
              .style.backgroundColor ="#FFFFFF";

            Nochmal: Das funktioniert PRIMA ohne Iframe.

            Nochmal: Will ich sehen! ;-)

            viele Grüße

            Axel

            1. Hallo,

              Also Jungs, vielen Dank, ABER: Genau dieselbe Anweisung geht fünf Zeilen über dem IFarme ohne Probleme.
              Ja? Will ich sehen! ;-)

              • style='backgroundColor :#FFFFFF' ist kein willkürlicher Text, sondern die komplett richtige Schreibweise in JavaScript
                Nein. Wenn das JavaScript ist, dann weist Du hier der [HTMLElement].style - Eigenschaft einen String zu. Das ist Unsinnig. JavaScript wäre
                  .style.backgroundColor ="#FFFFFF";

              Sorry, hab ich mich vertippt. In der Source stehts aber richtig und funzt trotzdem nicht.

              Nochmal: Das funktioniert PRIMA ohne Iframe.
              Nochmal: Will ich sehen! ;-)

              viele Grüße

              Axel

          3. Hi,

            • style='backgroundColor :#FFFFFF' ist kein willkürlicher Text, sondern die komplett richtige Schreibweise in JavaScript

            das Willkürliche daran ist, dass Du JavaScript-Syntax dort verwendest, wo CSS-Syntax gefragt wäre[1].

            • "Beides sind nicht-existente CSS-Eigenschaften" --> Klar, ist ja auch JS,

            Nein, keine Spur.

            • Hover will ich nicht.

            Warum jenes nicht?

            Cheatah

            [1] Wenn, wie schon angedeutet wurde, die style-Collection an sich beschreibbar wäre, was immerhin denkbar ist. Undenkbar hingegen ist, dass plötzlich eine CSS-Eigenschaft namens "backgroundcolor" magisch in den Standard pufft.

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    Du vermischt Javascript- mit CSS-Syntax.

    <tr onMouseOver="this.

    hier könnte eine Javascript-Eigenschaft folgen

    style

    jetzt nicht mehr.

    =

    oops, hier fehlt die Angabe der CSS-Eigenschaft

    'backgroundColor

    dies wäre jetzt eine hier unpassend in Javascript-Syntax notierte CSS-Eigenschaft

    :#FFFFFF'"

    allerdings wieder in CSS-Syntax vom Wert getrennt.

    freundliche Grüße
    Ingo

  3. Hallo Frank.

    Das müsste doch funtionieren:

    Nur ein kleiner Erklärungsversuch, warum es das nicht tut:

    <tr onMouseOver="this.style='backgroundColor :#FFFFFF'" onMouseOut="this.style='backgroundColor :#DDDDDD'">

    Wir haben hier als erstes „this“, welches bekanntlich immer eine Referenz auf das aktuelle Objekt (hier: das tr-HTML-Elementobjekt) darstellt. Man hat damit also direkten Zugriff auf alle dem Objekt untergeordneten Objekte und Eigenschaften.

    Als nächstes folgt „http://de.selfhtml.org/javascript/objekte/style.htm@title=style“, welches standardmäßig ein Unterobjekt eines jeden http://de.selfhtml.org/javascript/objekte/htmlelemente.htm@title=HTML-Elementobjektes ist.

    Und nun der Denkfehler: du kannst keinem Objekt eine Zeichenkette zuweisen; dies ist nur bei Eigenschaften möglich. Wäre es möglich, dann könntest du ebenso gut „window = 'http://example.org'“ notieren und besagte URI würde aufgerufen. Aber wie gesagt: so ist dies in JS nicht möglich. Du kannst grundsätzlich nur Eigenschaften einen Wert zuweisen. Für das Beispiel eben gibt es dafür das Unterobjekt http://de.selfhtml.org/javascript/objekte/location.htm@title=location mit seiner Eigenschaft http://de.selfhtml.org/javascript/objekte/location.htm#href@title=href.

    Beim style-Objekt ist dies nicht anders. Auch dieses verfügt über <http://de.selfhtml.org/javascript/objekte/style.htm#style_eigenschaften@title=eine Vielzahl an Eigenschaften>, welchen die jeweiligen (natürlich in der entsprechenden CSS-Syntax gehaltenen) Werte zugewiesen werden können.

    Da dürfte das IFrame doch eigentlich nichts ausmachen, oder?

    Dem Iframe nicht, aber dem JavaScript-Interpreter.

    Einen schönen Freitag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]