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