Inhalte dynamisch verändern!
Kloppomania
- javascript
0 wahsaga
Hi zusammen, ich möchte den Inhalt einer Tabelle dynamisch verändern und habe zu diesem Zwecke folgendes Script geschrieben:
------------------------------------------------------
var x = 0;
var feldnummer = 0;
function init()
{
document.write('<table width="200" border="1">')
for (x = 0; x < 4; x++)
{
document.write ('<tr><td name="feld_' + x + '" onclick="aendern(' + x + ')" id="feld_' + x + '"></td></tr>');
}
}
function aendern(feldnummer)
{
alert(feldnummer);
document.all["feld_" + feldnummer].innerHTML = 'Hallo';
}
-------------------------------------------------------
Es wird eine Tabelle per Schleife erzeugt, deren Inhalte beim Klick darauf (später soll es beim Buttonklick sein) verändert werden! Leider geschieht NICHTS!
Nun gibt die Javascript-Konsole des FireFox die Meldung aus "document.all... has no properties"! Also wird das Feld quasi nicht gefunden, ich verstehe nur nicht WARUM!? Vielleicht schaue ich schon zulange auf den Code, so dass ich etwas wichtiges übersehe, wahrscheinlich hab ich nen Brett vorm Kopf, vielleicht könnt ihr mir helfen!
mfg Kloppi
hi,
Nun gibt die Javascript-Konsole des FireFox die Meldung aus "document.all... has no properties"! Also wird das Feld quasi nicht gefunden, ich verstehe nur nicht WARUM!?
weil document.all veraltete MS-syntax ist.
nutze die getElementBy...()-methoden des document-objektes, um dir eine referenz auf das element zu holen.
gruß,
wahsaga
weil document.all veraltete MS-syntax ist.
nutze die getElementBy...()-methoden des document-objektes, um dir eine referenz auf das element zu holen.
Hm, habe mich länger nicht mit JS beschäftigt, habe mal in SelfHTML nachgesehen, dort gibt es aber für eine Tabellenzelle kein HTML-Elementobjekt, mit welchem man den Inhalt der Zelle verändern kann!
mfg Kloppi
Danke hat sich erledigt, falls es jemand wissen will:
document.all("feld_" + feldnummer).innerHTML = 'Text';
verändert den Inhalt einer Tabellenzelle, in den Klammern muss natürlich die ID der Zelle stehen!
mfg Kloppi!
Tag Kloppomania.
Danke hat sich erledigt
Nein, hat es nicht. Wie wahsaga richtig schrieb, ist das all-Objekt nicht allen Browsern bekannt. Allerdings erlauben die meisten modernen Browser den Zugriff auf den Elementinhalt mittels innerHTML.
document.all("feld_" + feldnummer).innerHTML = 'Text';
document.getElementById("feld_id").innerHTML = 'Text';
Siechfred