Tabelle erweitern mit appendChild - geht nicht
André Mantz
- javascript
0 MudGuard0 André Mantz0 MudGuard
Hallo zusammen,
ich habe in einem Dokument folgende Tabelle:
<table border id="test">
<tr>
<td>Überschrift</td>
</tr>
</table>
nun möchte ich per Javascript eine Zeile hinzufügen:
function neueZeile()
{
var Tabelle = eval(document.getElementById("test"));
var Zeile = document.createElement("tr");
var Spalte = document.createElement("td");
var Text = document.createTextNode("test");
Spalte.appendChild(Text);
Zeile.appendChild(Spalte);
Tabelle.appendChild(Zeile);
}
Leider tut sich da gar nix. Ich kann zwar bestehenden Zeilen neue Spalten hinzufügen, das geht einwandfrei. Aber eine neue Zeile krieg ich einfach nicht an die Tabelle *örx*
Danke für Eure Hilfe
Gruß, André
Hi,
<table border id="test">
<tr>
<td>Überschrift</td>
</tr>
</table>nun möchte ich per Javascript eine Zeile hinzufügen:
Je nach Browser ist ggf. zu berücksichtigen, daß intern noch ein tbody-Element in der Tabelle steht.
Bei HTML 4.01 ist dieses tbody-Element ggf. implizit gegeben (beide tags des tbody-Elements sind optional).
Siehe Elementdefinition von table:
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
Erst thead, tfoot und tbody enthalten die Zeilen:
<!ELEMENT THEAD - O (TR)+ -- table header -->
<!ELEMENT TFOOT - O (TR)+ -- table footer -->
<!ELEMENT TBODY O O (TR)+ -- table body -->
wobei thead und tfoot nicht vorhanden sein müssen.
cu,
Andreas
Hallo Andreas,
Je nach Browser ist ggf. zu berücksichtigen, daß intern noch ein tbody-Element in der Tabelle steht.
Bei HTML 4.01 ist dieses tbody-Element ggf. implizit gegeben (beide tags des tbody-Elements sind optional).
daran hatte ich gar nicht gedacht. Danke für die schnelle Hilfe.
Wenn ich die Tabelle so aufbaue klappt es wunderbar:
<table border>
<thead>
<tr>
<td>Überschrift</td>
</tr>
</thead>
<tbody id="test"></tbody>
</table>
Zu beachten ist noch, dass nun das TBODY-Tag die id erhält und nicht das TABLE-Tag.
Gruß, André
Hi,
Wenn ich die Tabelle so aufbaue klappt es wunderbar:
<table border>
soweit ich weiß, ist das Minimieren eines Attributs nur dann erlaubt, wenn dieses genau einen zulässigen Wert hat (wie z.B. das selected- oder das disabled-Attribut) - bin mir da aber nicht 100% sicher...
<thead>
<tr>
<td>Überschrift</td>
</tr>
</thead>
<tbody id="test"></tbody>
tbody muß aber mindestens eine tr enthalten (die wiederum mindestens eine td enthalten muß).
</table>
cu,
Andreas