Cheatah: JQuery ... der erste Versuch

Beitrag lesen

Hi,

formObj.elements[e].focus(function(){lA[this.name].className = "";})

... steckt, ist dass ich versucht habe, ein JQ-Methode auf ein
DOM-Objekt anzuwenden.

richtig. Das Prototype-Framework basiert darauf, die Prototypen von Objekten zu verändern; jQuery hingegen erzeugt Objekte eines eigenen Typs, anstatt den gesamten JavaScript-Kosmos zu manipulieren. Die jQuery-Basisfunktion (also "$()") nimmt jedoch auch beliebige DOM-Nodes entgegen und liefert sie als jQuery-Objekt zurück, d.h. aus Deinem "formObj.elements[e].irgendwas()" kannst Du einfach "$(formObj.elements[e]).jQueryAequivalent()" machen.

Mein Versuch, die erste Anweisung im Schleifenblock zu erstzen:
$(':input:not(:hidden)').each(function(){eA[this.name]=this;});
... scheitert aber. Der Selektor scheint korrekt zu sein.

Du hast hiernach, genau wie bisher, die DOM-Nodes in Deinem Array. jQuery-Objekte machst Du daraus wie oben beschrieben.

Jetzt frage ich mich, ob es grundsätzlich ein Fehler ist,
das Array 'eA' zu definieren um mit mehreren Funktioneen
darauf zuzugreifen, weil global evil ist,

Der globale Scope sollte möglichst sauber gehalten werden, das stimmt. Du kannst Dein Array als Eigenschaft eines günstig gewählten Objektes abspeichern, wenn Du magst; für den Anfang kannst Du window dieses Objekt sein lassen.

oder ich nur wissen muss, wie ich hier:
$(':input:not(:hidden)').each(function(){eA[this.name]=this;});
... dafür sorge, dass jQuery weiss, dass ich das global definierte
Array 'eA' füllen möchte.

jQuery erfährt nicht mal, dass Du da ein Array füllen willst. Das ist handelsübliches 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