JQuery: Abfragen ob Objekt existiert
Stubenhocker
- javascript
0 suit0 Stubenhocker0 suit0 Stubenhocker0 suit
0 ChrisB
0 LX
Hallo Forum,
stelle gerade meine Seiten von Prototype zu JQuery um. Die Syntax ist ja relativ ähnlich, aber nun brauche ich doch Hilfe.
In Prototype war es ganz einfach, abzufragen ob ein Objekt existiert:
var i=0;
while($("cal_tr"+i))
{
/* mach was */
i++;
}
Diese Schleife geht so lange, bis ein Objekt mit der ID cal_tr0...n nicht mehr existiert.
Dieser Code ist einfach nach JQuery umzuschreiben, man muss eine Raute (#) vor dem "cal_tr" setzen, denn JQuery hält sich mehr an die CSS-Schreibweise (# = ID, . = class etc.)
Leider resultiert dieser entstandene Code (mit Raute) in einer Endlosschleife. Ich müsste also abfragen, ob das Objekt existiert, das ich gerade anzusteuern versuche.
Leider finde ich keine Möglichkeit, dies zu tun. Ein $("bla").exists gibt es leider nicht. Gibt es eine Möglichkeit, dies in JQuery zu tun?
Liebe Grüße
Stubenhocker
Diese Schleife geht so lange, bis ein Objekt mit der ID cal_tr0...n nicht mehr existiert.
Warum musst du fortlaufend nummerierte IDs haben? Tuts nicht auch ein each() auf einen gemeinsamen Selektor?
Zu deiner Frage:
http://jqueryfordesigners.com/element-exists/
Hallo
Zu deiner Frage:
http://jqueryfordesigners.com/element-exists/
Danke, das war es was ich gesucht habe. Habe noch keine Seite gefunden, auf der aufgezählt ist, was bei JQuery alles nach einem Punkt stehen kann...
Warum musst du fortlaufend nummerierte IDs haben? Tuts nicht auch ein each() auf einen gemeinsamen Selektor?
Weil ich zuerst auf alle Zeilen eine Aktion ausführe, und unmittelbar im Anschluss mit *einer bestimmten* eine weitere Aktion ausführe:
var i=0;
while($("#cal_tr" + i).length!=0)
{
$("#cal_tr" + i).css('backgroundColor', "#fff");
i++;
}
$("#cal_tr" + row).css('backgroundColor', "#CD853F");
Die fortlaufenden IDs (i) haben eine Spanne von mindestens 4 und maximal 6.
Gruß
Stubenhocker
Habe noch keine Seite gefunden, auf der aufgezählt ist, was bei JQuery alles nach einem Punkt stehen kann...
Die jQuery-Dokumentation wäre ein Ansatz - die Dokumentation ist wie die von PHP vorbildlich.
Weil ich zuerst auf alle Zeilen eine Aktion ausführe, und unmittelbar im Anschluss mit *einer bestimmten* eine weitere Aktion ausführe:
Was spricht dann gegen :nth-child() oder den adjacent sibling selector?
Hallo
Was spricht dann gegen :nth-child() oder den adjacent sibling selector?
Der Internet Explorer...
Gruß
Stubenhocker
Der Internet Explorer...
Unsinn.
Hi,
Warum musst du fortlaufend nummerierte IDs haben? Tuts nicht auch ein each() auf einen gemeinsamen Selektor?
Weil ich zuerst auf alle Zeilen eine Aktion ausführe, und unmittelbar im Anschluss mit *einer bestimmten* eine weitere Aktion ausführe:
Das beantwortet die Frage nicht.
MfG ChrisB
Die Endlosschleife basiert darauf, dass jQuery in jedem Fall ein Objekt zurückgibt, welches nach der Typenkonvertierung nach Boolean "true" zurückgibt. Du müsstest also nach dessen length-Instanz fragen - diese wird, wenn sie "0" zurückgibt, nach der Typenkonvertierung "false".
var i=0;
while($("#cal_tr"+i).length)
{
/* mach was */
i++;
}
Gruß, LX