Hallo!
Mit dem folgenden Code möchte ich den Klassennamen jeder Zelle einer Tabelle auslesen und in einem Array speichern. Das Array ist nach der id der Zeile benannt und wird nur erstellt, wenn die Zeile eine id besitzt.
Im Internet Explorer taucht folgender Fehler auf:
Zeile: 102; Zeichen: 4; Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.; Code: 0
Im Firefox sowie im Opera funktioniert alles ohne Probleme.
Hier der Code:
function saveRows ()
{
var trnumber = document.getElementsByTagName('table')[1].rows.length-1; // anzahl der zeilen
for(var i = 0; i <= trnumber; i++) { // jede zeile durchgehen
var lineId = document.getElementsByTagName('table')[1].rows[i].getAttribute('id'); // id-attribut auslesen
if(lineId != null && lineId != '') { // checken, ob id vorhanden ist; wenn das der fall ist:
var numbertrcn = document.getElementsByTagName('table')[1].rows[i].childNodes.length-1; // anzahl der spalten zählen
eval(lineId + ' = new Array()'); // neues array mit der id der zeile erstellen
for(var j = 0; j <= numbertrcn; j++) { // for schleife für speicherung der klasse jeder zelle
eval(lineId + '.push("' + document.getElementsByTagName('table')[1].rows[i].childNodes[j].className + '");');
}
}
}
}
Wo ist der Fehler?
Mit alert() habe ich ihn auf eval() lokalisieren können. Steht der Alert vor eval(...), wird er angezeigt. Steht er danach, wird er nicht angezeigt.
Bin über jeden Vorschlag dankbar. :)