Verstecken von Spans: Problem bei Referenzierung mit Array
Nano
- javascript
Hallo zusammen
Ich versuche gerade auf einer Seite Kommentarzeilen automatisch auszublenden, so dass sie mit einem Button wieder angezeigt werden können (um Platz zu sparen).
Ich generiere den Javascript Code über PHP und schreibe die ids der Kommentarzeilen in den Javascript Bereich. Allerdings erhalte ich immer die Fehlermeldung es sei ein Objekt erforderlich. Hier mal der Code:
function hiderows() {
var ids = new Array();
ids[0] = 'commentrow' + 55;
ids[1] = 'commentrow' + 56;
ids[2] = 'commentrow' + 57;
ids[3] = 'commentrow' + 58;
ids[4] = 'commentrow' + 59;
ids[5] = 'commentrow' + 60;
ids[6] = 'commentrow' + 61;
ids[7] = 'commentrow' + 62;
ids[8] = 'commentrow' + 63;
for(i=1;i <= ids.length;i++) {
document.getElementById(ids[i]).style.display = 'none';
}
}
Die Array Werte stimmen soweit, wenn ich document.getElementById('commentrow55').style.display = 'none'; schreibe, wird die entsprechende Zeile auch unsichtbar gemacht. Allerdings scheint dass nicht mehr zu klappen wenn die Geschichte dynamisch mit einer for Schleife ausgeführt werden soll.
Vielen Dank schonmal
Nano
Hi,
Hallo zusammen
Ich versuche gerade auf einer Seite Kommentarzeilen automatisch auszublenden, so dass sie mit einem Button wieder angezeigt werden können (um Platz zu sparen).
Ich generiere den Javascript Code über PHP und schreibe die ids der Kommentarzeilen in den Javascript Bereich. Allerdings erhalte ich immer die Fehlermeldung es sei ein Objekt erforderlich. Hier mal der Code:
ids[0] = 'commentrow' + 55;
for(i=1;i <= ids.length;i++) {
Fällt Dir was auf?
Beim Setzen der Werte fängst Du bei Index 0 an. Deine Schleife beginnt bei Index 1.
Und da die Schleife über so viele Elemente läuft, wie das Array Elemente enthält (nämlich 9), wird zuletzt wegen i <= ids.length auf Index 9 zugegriffen. Aber Index 8 ist der letzte, für den ein Wert gesetzt wurde.
for(i=0; i < ids.length; i++)
sollte zum Erfolg führen.
cu,
Andreas
Hallo nochmal
Konnte das Problem lösen, lag daran dass ein ungültiger Wert aus der Datenbank selektiert wurde, und somit eine nicht vorhandene id generiert wurde.
Danke trotzdem!