webForumDet fria alternativet

Gå vidare om id inte finns

JavaScript

1 svar · 388 visningar · startad av Hulth

Medlem sedan juni 2001272 inlägg
Frågan#1

Gokväll WF :)

Har stött på lite problem med följande kodsnutt:

 function docOnload() {
 	var rows = 6;
 	var seats = 10;
 
 	for(row=1; row <= rows; row++) {
 		for(seat=1; seat <= seats; seat++) {
 			o = document.getElementById("s" + row + seat);
 			o.onmouseover = seatOnMouseOver;
 			o.onclick = seatOnClick;
 		}
 	}
 }

Problemet är att inte alla 6 rader har 10 seats, några har 6 och några har 8 och när scriptet kommer till seat 7 på den första raden med 6 seats så stannar det (antagligen för att den inte kan hitta raden med o = document.getElementById("s" + row + seat);.

Det jag undrar är helt enkelt, finns det något sätt att bygga in så när den ska hitta en som inte finns så går den vidare och provar med nästa:

s36 finns, ok
s37 finns inte, gå vidare
s38 finns inte, gå vidare
s39 finns inte, gå vidare
s310 finns inte, gå vidare
s41 finns, ok

osv

Mycket tacksam för hjälp :)

Medlem sedan juni 2001272 inlägg
#2

Lyckades fixa det.

function docOnload() {
 	var rows = 6;
 	var seats = 10;
 
 	for(row=1; row <= rows; row++) {
 		for(seat=1; seat <= seats; seat++) {
 			o = document.getElementById("s" + row + seat);
			if (o != undefined) {
	 			o.onmouseover = seatOnMouseOver;
 				o.onclick = seatOnClick;
			}
 		}
 	}
 }
308 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
171 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
171 ms — ändringar (db)