bei For-schleife elemente ausschließen || troubleshooting

gnupi

Grünschnabel
hallo!
es handelt sich um div layer, die via for schleife angesprochen werden
der effekt existiert (ajax) ist aber nicht weiter relevant...
das problem ist, dass in einer for-schleife, die immer bis 5 zählt immer die elemente
1,2,3,4 und 5 in einem oberelement angesprochen werden, aber nicht immer alle 5 existieren...
es gibt z.b. 11,12,13,14,15 aber nur 21,22,23

sobald aber der nichtexistierende div mit der nicht existierendne id 24 angesprochen wird, bricht das script an der stelle ab und macht nicht mehr weiter...

kann man irgendwie verhinder, dass das script gebrochen wird, oder
eine alternative angeben, wenn der befehl nicht ausführbar ist?

unten die function, die angesprochen wird

Code:
function show(a,b) {
			c = a+1
			if (EinAus){for (var i = a; i <= b; i++) new Effect.MoveBy("menue"+a+i, i*22, 0);}
			else {for (var i = a; i <= b; i++) new Effect.MoveBy("menue"+a+i, i*(-22), 0);}
			if (EinAus){for (var i = 2; i <= 5; i++) new Effect.MoveBy("menue"+i, (b*22)+22, 0) ;}
			else {for (var i = c; i <= 5; i++) new Effect.MoveBy("menue"+i, (b*(-22))-22, 0) ;}

danke im vorraus!!
gnupi
 
Sowas kannst du über den typeof-Operator verhindern.

Dieser gibt dir den Typ des Objektes zurück....existiert ein Objekt nicht, quittiert er das nicht mit einem Fehler, sondern gibt "undefined" zurück.

Somit lässt sich dieser Operator hervorragend verwenden, um etwaige Fehler durch Zugriff auf nicht existierende Objekte abzufangen:
Code:
if(typeof dingsbums !='undefined')
{
  //weitermachen
}
 

Neue Beiträge

Zurück