Die Lösung besteht nun darin, die Tabelle von vorneherein sauber mit
<tbody>
zu definieren (auch wenn's nicht vorgeschrieben ist) und die neue Zeile unterhalb von<tbody>
einzufügen:
document.getElementById("upload").firstChild.nextSibling.appendChild(...<tr>-Element...);
Also ob das wirklich eine vernüftige Lösung ist, wage zu bezweifeln. firstChild sieht schon jeder Browser anders, nextSibling ist dann natürlich ein reines Glücksspiel. Wenn du eine Tabelle erweitern möchtest kannst du auch <http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#table@title=Tabellenmethoden und Eigenschaften> verwenden.
<table id="upload">
<tr>
<td>
<input type="file" ...>
</td>
</tr>
</table>
<div onclick="addRow()">klick</div>
<script type="text/javascript" id='functions'>
function addRow() {
var t = document.getElementById('upload').tBodies[0];
var r = t.rows[0].cloneNode(true);
t.appendChild(r);
}
</script>
Struppi.