Paul: Variablen/DOM-Objekte füllen

Moin,
kann man mehrere Variablen/DOM-Objekte gleichzeitig mit einem Wert belegen?
Zum Beispiel so:

document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;

oder muss man das einzeln machen?

Paul

  1. kann man mehrere Variablen/DOM-Objekte gleichzeitig mit einem Wert belegen?
    Zum Beispiel so:

    document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;

    ja.

    Struppi.

    1. Das ging ja schnell :-)

      Danke!

      1. Hi,

        Das ging ja schnell :-)

        Ja, *fast* so schnell, wie selber ausprobieren haette gehen koennen ...

        MfG ChrisB

        1. Hallo,

          Ja, *fast* so schnell, wie selber ausprobieren haette gehen koennen ...

          Naja, führt das Ausprobieren zu einem negativen Ergebnis, hat man keine Einsicht, warum es nicht geht und wie es richtig ginge; noch schlimmer aber: wenn es aber »funzt«, hätte man sie noch weniger, würde sich womöglich irgendetwas einbilden, was einen auf falsche Fährte lockt. Da ist es schon sinnvoll, nachzufragen bzw. soweit es geht selbst der Sache auf den Grund zu gehen, anstatt sich durch Try & Error etwas zurechtzubasteln, was vordergründig den Anschein erweckt, als würde es den Zweck erfüllen...

          Mathias

          1. Hi,

            Da ist es schon sinnvoll, nachzufragen bzw. soweit es geht selbst der Sache auf den Grund zu gehen, anstatt sich durch Try & Error etwas zurechtzubasteln, was vordergründig den Anschein erweckt, als würde es den Zweck erfüllen...

            Nun ja, etwas a la "ich hab das ausprobiert, das funktioniert auch, wie gewuenscht - aber kann ich mich darauf verlassen, bzw. wo kann ich was darueber nachlesen?" wuerde ich als halbwegs vernuenftige Form der Praesentation eines solchen "Problems" eigentlich schon erwarten.

            MfG ChrisB

    2. ja.

      Ging denn auch sowas:

      if (document.getElementById('modus').value == 'linie' || 'punkt') {...

      Paul

      1. Hallo Paul,

        Ging denn auch sowas

        Ja, wie Dir folgendes Bsp zeigt:
        alert(true == false || true);

        wobei ich die beiden Vergleichswerte in Klammern setzen würde, um mehr übersicht zu bekommen:
        alert(true == (false || true));

        Mit freundlichem Gruß
        Micha

      2. Hi,

        Ging denn auch sowas:

        ja, es ist aber etwas signifikant anderes als

        if (document.getElementById('modus').value == 'linie' || document.getElementById('modus').value == 'punkt') {...

        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. warum?

          Hi,

          Ging denn auch sowas:

          ja, es ist aber etwas signifikant anderes als

          if (document.getElementById('modus').value == 'linie' || document.getElementById('modus').value == 'punkt') {...

          Cheatah

          1. Hi,

            warum?

            wegen der Art der Verarbeitung Boole'scher Faktoren, die in JavaScript implementiert wurde. Andere Sprachen machen das anders - diese sind allerdings extrem selten.

            Hi,

            Kein TOFU bitte, danke.

            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
          2. Hallo,

            warum?

            {Wert1} == {Wert2} || {Wert3}

            Wie kommst du darauf, dass dieser Ausdruck jeweils Wert1 und Wert2 mit Wert3 vergleicht und true ergibt, wenn beide Vergleiche true ergeben?

            Gemäß der Operatorenrangfolge wird zuerst der Teilausdruck {Wert1} == {Wert2} berechnet. Ergibt true oder false. Heraus kommt der neue Teilausdruck true || {Wert3} respektive false || {Wert3}. Der ||-Operator funktioniert so, dass er den Operanden ergibt, der true ergibt, wenn er zum Boolean-Typ umgewandelt wird. Das heißt:

            true || 'punkt' ⇒ true
            false || 'punkt' ⇒ 'punkt'

            Wenn der Ausdruck nun in if (...) steht, dann wird das Ergebnis natürlich nochmal zu Boolean umgewandelt, weil ein Wahrheitswert erwartet wird. 'punkt' umgewandelt in Boolean ergibt true.

            Es ist also Unsinn, if (document.getElementById('modus').value == 'linie' || 'punkt') zu schreiben, es kommt immer true dabei heraus, auch wenn die value-Eigenschaft weder gleich 'linie' noch gleich 'punkt' ist.

            Mathias

  2. Hallo,

    document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;

    Das ist eine Expression, die gemäß der Operatorenrangfolge ausgerechnet wird. Zuerst werden die .-Operatoren ausgerechnet und so entstehende Referenzen:

    {Referenz1} = {Referenz2} = {Referenz3};

    Das ist einfach eine Kette von Assigment Expressions (»Zuweisungs-Ausdrücken«). Die wird von hinten aufgelöst (weil der =-Operator »right-associative« ist), also zuerst {Referenz2} = {Referenz3}. Das Ergebnis dieses Teilausdrucks ist wiederum der Wert, auf den Referenz3 verweist (also der Inhalt der Variable y2). Dann wird {Referenz1} = {Wert} ausgerechnet.

    Mathias