Referenzen in Literalen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Referenzen in Literalen

    Entweder bin ich blind oder blöd. Folgendes Problem:
    PHP-Code:
    var data 
    {
      
    bla   document.getElementById('bla'),
      
    blubb document.getElementById('blubb'),

    Jetzt will ich in dem Literal noch ein Array mit den beiden Referenzen aufbauen, also
    PHP-Code:
    var data 
    {
      ...
      
    blubber = new Array (blablubb),

    Aber wie greife ich auf die zu?
    PHP-Code:
    blubber = new Array (this.blathis.blubb), 
    klappt nicht, weil this auf das window-Objekt verweist. Hab jetzt schon zig Varianten probiert, aber keine funktioniert. Bei Google finde ich dazu auch nichts.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Code:
    data.blubber = new Array(data.bla, data.blubb);

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Code:
      data.blubber = new Array(data.bla, data.blubb);
      Nee, klappt auch nicht. Hab ich schon ausprobiert. Keine Ahnung warum dem so ist. Vielleicht liegt es am Array. Muss mal weiter rumspielen. Oder ich habe einen saublöden Fehler, den ich zu so später Stunde einfach nicht mehr finde.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Also bei mir funktionierts.

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Also bei mir funktionierts.
          Bei mir wirft der Firebug einen Fehler aus. Allerdings rufe ich das Literal aus einer Methode innerhalb einer Konstruktrorfunktion auf. Außerdem führt
          PHP-Code:
          var data 
          {
            ...
            
          data.blubber : new Array (data.bladata.blubb),

          zu einer Fehlermeldung. Denn das Array soll innerhalb des Literals gebildet werden.

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Nach data fehlt das Gleichheitszeichen.

            Das Array wird doch innerhalb des Literals gebildet. Was genau meinst du? Eventuell solltest du auf Methoden ausweichen.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von AmicaNoctis Beitrag anzeigen
              Nach data fehlt das Gleichheitszeichen.
              Sorry, im Original ist es vorhanden.
              Zitat von AmicaNoctis Beitrag anzeigen
              Das Array wird doch innerhalb des Literals gebildet. ... Eventuell solltest du auf Methoden ausweichen.
              Habe mit push eine ziemlich krude Lösung zusammengebastelt. Aber der Weisheit letzter Schluss ist das nicht. Melde mich morgen, sobald ich weiter bin.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Code:
                var data = {
                    bla  : document.getElementById('bla'),
                    blubb: document.getElementById('blubb')
                };
                data.blubber = new Array(data.bla, data.blubb);

                Kommentar


                • #9
                  Zitat von h3ll Beitrag anzeigen
                  Code:
                  var data = {
                      bla  : document.getElementById('bla'),
                      blubb: document.getElementById('blubb')
                  };
                  data.blubber = new Array(data.bla, data.blubb);
                  Ja, das klappt, aber so wollte ich das nicht machen. Bin in manchen Dingen stur wie ein Esel.

                  Peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Worum geht es dir denn eigentlich? Was hast du vor? Warum sollen die Werte zusätzlich als Array drin stehen?
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      Ach, ich wollte einfach bestimmte Strukturen in einem Literal abbilden. Und das Array ist halt ein Hilfskonstrukt dafür. Ist nichts wichtiges, aber in manchen Dingen bin ein Ordnunsfanatiker. Darum solte alles im Literal sein. Werde es jetzt aber anders machen.

                      Dank euch beiden
                      Peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Javascript verändert den Charakter.

                        Kommentar


                        • #13
                          Zitat von onemorenerd Beitrag anzeigen
                          Javascript verändert den Charakter.
                          Stimmt, macht aggressiver.

                          Peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar

                          Lädt...
                          X