+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Zugriff auf Objekteigenschaften

  1. #1
    TP-Veteran alexf812 macht alles soweit korrekt Avatar von alexf812
    Registriert seit
    Sep 2004
    Beiträge
    1.370

    Zugriff auf Objekteigenschaft

    Hi,

    es geht um folgendes:
    Code:
    var bla = {
    
      config: {
       container: $('#container')
     },
    
     myfunction: function(){
       alert(this.config.container.height()) // gibt null ???
    
       var test = $('#container');
       alert(test.height()) // gibt die richtige Höhe aus
     }
    
    }
    Warum bekomme ich denn als Ausgabe null und beim zweiten Aufruf die richtige Höhe? Ich möchte gern auf die Konfigurationsvariable container zugreifen. Kann mir jemand sagen wie ich in der Testfunktion die richtige Höhe ausgeben kann?
    Geändert von alexf812 (18.09.2010 um 18:57 Uhr)

  2. #2
    TP-Supporter Ben- hilft, wo's geht Ben- hilft, wo's geht Avatar von Ben-
    Registriert seit
    Dec 2004
    Ort
    Berlin
    Beiträge
    480
    Eventuell täusche ich mich, aber ich glaube du referenzierst mit "this.config..." falsch.
    Probier mal
    Code:
    var bla = {
      me:this,
      config: {
       container: $('#container')
     },
    
     myfunction: function(){
       alert(me.config.container.height())
    
       var test = $('#container');
       alert(test.height())
     }
    
    }
    kann mich aber auch täuschen.

    €dit: alternativ mal mit this.parent.config.container.height() probieren

  3. #3
    TP-Veteran alexf812 macht alles soweit korrekt Avatar von alexf812
    Registriert seit
    Sep 2004
    Beiträge
    1.370
    Hi,

    leider geht keine der Möglichkeiten.
    Komisch nur, wenn ich folgendes mache, und das als Parameter übergebe:
    Code:
    bla.myfunction({'container': $('#container')})
    
    // und das steht in der myfunction noch zusätzlich
    if (config && typeof(config) == 'object') {
      $.extend(this.config, config);
    }
    Dann kann ich überall auf die Höhe zugreifen

  4. #4
    TP-Senior MichaG bringt sich richtig ein MichaG bringt sich richtig ein
    Registriert seit
    Dec 2008
    Beiträge
    183
    Ich weis nicht, ob JQuery für OOP in Javascript ein paar Helferlein abstellt - versuche aber deine Klasse mit einem Konstruktor zu versehen, der das container-Attribut befüllt.

  5. #5
    TP-Veteran alexf812 macht alles soweit korrekt Avatar von alexf812
    Registriert seit
    Sep 2004
    Beiträge
    1.370
    Also so wie ich es in meinem Bsp. gemacht habe? Dort übergebe ich ja als Parameter das Objekt oder meinst du es anders?

  6. #6
    TP-Senior MichaG bringt sich richtig ein MichaG bringt sich richtig ein
    Registriert seit
    Dec 2008
    Beiträge
    183
    Entweder direkt übergeben - wäre Variante 1.

    Oder, was ich meine, einen Konstruktor erstellen. Der würde jedes mal aufgerufen, sobald du ein neues Objekt der Klasse erstellst.
    Schneller und einfacher geht es aber, wenn du es wie oben direkt übergibst.

  7. #7
    TP-Veteran alexf812 macht alles soweit korrekt Avatar von alexf812
    Registriert seit
    Sep 2004
    Beiträge
    1.370
    Trotzdem frage ich mich warum es anders nicht geht, als mit der Übergabe. Wenn ich es direkt reinschreibe ist es ja im Grunde genommen das gleiche.

+ Antworten

Ähnliche Themen

  1. Ordner zugriff.
    Von |23| im Forum HTML & CSS
    Antworten: 3
    Letzter Beitrag: 13.04.2005, 17:14
  2. LAN & Internet-Zugriff
    Von Rinaldo im Forum Hardware
    Antworten: 3
    Letzter Beitrag: 15.04.2004, 15:29
  3. Internet Zugriff Log
    Von Vitamin-R im Forum Betriebssysteme
    Antworten: 7
    Letzter Beitrag: 07.10.2003, 18:44

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51