Objekte
Andreas1
- javascript
Hallo,
wollte gerne ein Objekt erstellen mit den Name einer ID.
So in etwa:
listbox = $(data).find(".UIListBox");
listID = $(listbox).attr("id");
if (typeof listID != "undefined")
{
listID = new UIListBox(listbox);
}
Natürlich funktioniert das ganze nicht. Wenn die ID jetzt z.B. "MyList" hat, will ich das gerne mit $.MyList.function(); ansprechen können. Wie macht man sowas?
MfG
Hallo!
listbox = $(data).find(".UIListBox"); listID = $(listbox).attr("id"); if (typeof listID != "undefined") { listID = new UIListBox(listbox); }
>
> Natürlich funktioniert das ganze nicht. Wenn die ID jetzt z.B. "MyList" hat, will ich das gerne mit $.MyList.function(); ansprechen können. Wie macht man sowas?
Du kannst die Instanzen als Eigenschaften an einem Objekt speichern. Als Eigenschaftsnamen kannst du die ID verwenden:
~~~javascript
var allListBoxes = {};
var listBox = new UIListBox();
allListBoxes[listID] = listBox;
Wenn listID z.B. »foo« ist, so verweist allListBoxes.foo auf die entsprechende Instanz.
Ich würde vorschlagen, ein eigenes Objekt und nicht $ (vermutlich jQuery) zu verwenden. An $ hängen bereits viele andere Eigenschaften. Ein neues, eigenes Objekt ist ein leerer Namespace (Namensraum).
Grüße,
Mathias
var allListBoxes = {};
var listBox = new UIListBox();
allListBoxes[listID] = listBox;
>
> Wenn listID z.B. »foo« ist, so verweist allListBoxes.foo auf die entsprechende Instanz.
>
> Ich würde vorschlagen, ein eigenes Objekt und nicht $ (vermutlich jQuery) zu verwenden. An $ hängen bereits viele andere Eigenschaften. Ein neues, eigenes Objekt ist ein leerer Namespace (Namensraum).
>
> Grüße,
> Mathias
Perfekt. Vielen Dank!