Tabelle mit Javscript erzeugen!?
klaus
- javascript
0 Pete0 JürgenB0 Gernot Back
Hallo,
einige werden sich noch an meine vorherigen Thread (Variablen zufällig mischen) erinnern, das habe ich nun auch erfolgreich bewältigt. Die zufälligen Werte sollen nun in Tabellenzellen ausgegeben werden.
Nun könnte ich natürlich das ganze so bewältigen:
document.write
(
'<h1><center>Schiebepuzzle Version 0.7a</h1>\
<table width="400" height="400">\
<tr><td class="puzzle"><script>document.write(mix[1]);</script></td>.......... (das halt für jede Zelle)
Gibt es eine Möglichkeit das Ganze durch eine Schleife zu bewerkstelligen?
Ungefähr so könnte es ja im Prinzip aussehen, aber es funktioniert nicht:
<script>for (var n = 0; n < 16; n++) { document.write ('<td class="puzzle">'<script>document.write(mix[1]); </script>' </td> </script>
danke schonmal
lg klaus
<script type="text/JavaScript">
for (var n = 0; n < 16; n++) {
document.write ('<td class="puzzle">' + mix[n] + '</td>');
}
</script>
Das zwischen den einfachen ' wird geschrieben und durch + mit dem Inhalt der Variablen mix[n] verbunden.
Pete
Hallo Klaus,
wenn die Tabelle nur einmal gefüllt werden soll, kann man das mit document.write ganz gut machen. Wenn die Werte aber dynamisch mehrmals geändert werden sollen, ist der Zugriff mit DOM-Methoden besser:
var tabelle=document.getElementById("ID_der_Tabelle");
var nzeilen=tabelle.getElementsByTagName("tr").length;
var nspalten=tabelle.getElementsByTagName("tr")[0].getElementsByTagName("td").length;
var z,s;
var wert=new Array(nzeilen);
for(z=0;z<nzeilen;z++) wert[z]=new Array(nspalten);
for(z=0;z<nzeilen;z++) {
var zeile=tabelle.getElementsByTagName("tr")[z];
for(s=0;s<nspalten;s++) {
var spalte=zeile.getElementsByTagName("td")[s];
wert[z][s]=spalte.firstChild.nodeValue;
// wert[z][s]=spalte.innerHTML; wenn es mehr als Text ist
}
}
zu sehen unter:
http://www.j-berkemeier.de/TableSort.html und unter
http://www.j-berkemeier.de/Ritzelrechner.html
Gruß, Jürgen
Hallo Klaus,
einige werden sich noch an meine vorherigen Thread (Variablen zufällig mischen) erinnern, das habe ich nun auch erfolgreich bewältigt. Die zufälligen Werte sollen nun in Tabellenzellen ausgegeben werden.
:
document.write
(
'<h1><center>Schiebepuzzle Version 0.7a</h1>\ <table width="400" height="400">\ <tr><td class="puzzle"><script>document.write(mix[1]);</script></td>.......... (das halt für jede Zelle)
ich will dir ja den Spaß an der Programmierung nicht verderben, aber Schiebepuzzles, das gibt's doch schon ganz ohne Tabellen und laufffähig in allen Browsern.
Gruß Gernot
Hallo nochmal,
ich sehe gerade, mit der Lauffähigkeit in allen Browsern war ich etwas voreilig, das läuft über das document.all-Objekt und über das layers-Objekt, aber vielleicht kann man das ja anpassen.
Gruß Gernot