molily: Einfache Funktion, styles zu ändern

Beitrag lesen

Da ich aber nicht wirklich Ahnung von Javascript habe, verwirrt das

document.forms["Formularname"].elements["Elementname"].Eigenschaft


>   
> „.Eigenschaft“ ein wenig.  
  
objekt.eigenschaft heißt natürlich, dass objekt und eigenschaft Platzhalter für Bezeichner sind.  
  
Es gibt zwei Möglichkeiten, um in JavaScript Unterobjekte (auch Member oder spezieller Methoden bzw. Eigenschaften genannt) anzusprechen:  
  
objekt.unterobjekt  
objekt["unterobjekt"]  
  
Beim ersten ist unterobjekt immer ein fester Bezeichner, beim zweiten wird zwischen den eckigen Klammern ein Ausdruck erwartet, der einen String ergibt - bzw. es wird einfach ein beliebiger Ausdruck erwartet, der wird dann ausgerechnet und das Ergebnis automatisch in einen String umgewandelt.  
  
Jetzt musst du den Unterschied beachten zwischen:  
  
1\. einem Bezeichner (Identifier), der direkt im Quellcode notiert ist  
2\. einem String-Literal, der direkt im Quellcode notiert ist  
3\. einem Bezeichner, der auf eine String-Variable verweist, die einen Bezeichnernamen enthält  
  
Beispiel 1.  
  
document.forms  
  
Komplexer:  
document.forms.bla.elements.blub.type  
  
bla und blub sind hier natürlich feste Namen. Bei der Schreibweise objekt.eigenschaft ist das immer so und muss immer so sein.  
  
Beispiel 2.  
  
document.forms["bla"].elements["blub"].type  
  
Zwischen den eckigen Klammern ist ein String-Literal im Quelltext notiert. Dabei sind die Namen ebenfalls fest, nur anders notiert.  
  
Beispiel 3.  
  
var formularname = "bla", feldname = "blub";  
document.forms[formularname].elements[feldname].type  
  
Wie gesagt kann zwischen den Klammern ein beliebiger Ausdruck stehen, der ein String ergibt, also schreiben wir einen Variablennamen dazwischen. Der wird dann aufgelöst zu seinem Wert - und das ist ein String.  
  
Die zweite Zeile ist dadurch variabel - was sie ergibt, hängt davon ab, welche Werte in den verwendeten Variablen gespeichert sind.  
  
Mathias

-- 
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)