steckl: Zu blöd - finde/verstehe meinen Fehler nicht

Beitrag lesen

Hi,

  

>   for (var j=0; j<=SubImages.length; j++)  

diese Schleife läuft einmal zu oft durch. Ersetze "<=" durch "<", weil du sonst beim letzten Durchlauf ein uninitialisiertes Element (hier SubImages[SubImages.length]) zugreifst.  

>   {  
>     if (SubImages[j].src == buttonImg[1].src)  
>     {var test='hallo'; }  
>   }  
  

>   for (var i=0; i<=SubRows.length; i++)  

siehe oben  

>   {  
>     if (SubRows[i].style.visibility == 'visible')  
>     {  
>      SubRows[i].style.visibility = 'collapse';  
>     }  
>   }  
>  } else {  
>   document.getElementById('tr'+n).style.visibility  = 'visible';  
>   document.getElementById('img'+n).src = buttonImg[1].src;  
>  }  
> }  

Die Aktionen, die die zweite For-Schleife machen soll, funktionieren nicht, wenn ich in der ersten For-Schleife die oben stehende If-Abfrage stehen hab. Wenn ich es so hinschreibe, funktioniert es:
  for (var j=0; j<=SubImages.length; j++){

Hier greifst du auf keine Elemente zu, darum funktioniert es wohl.

}
  for (var i=0; i<=SubRows.length; i++){
    if (SubRows[i].style.visibility == 'visible')

Warum das funktioniert bin ich überfragt.

{
     SubRows[i].style.visibility = 'collapse';
   }
  }
Verstehe den Fehler nicht, kann doch nur ein Syntaxfehler sein - zu blöd - Brett vorm Kopf!

Um (Syntax-)Fehler zu finden ist beispielsweise die Fehler-Konsole vom Firefox recht nützlich.

mfG,
steckl