Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : DOM - Javascript



Bernd_das_Brot
21.07.2010, 17:03
Hallo zusammen!

Folgendes Problem: Ich moechte, dass tr_element aus dem Codeschnipsel an die Position des HTML-Kommentares HIER HIN eingefuegt wird (bzw. nach mehrmaligem Klicken anhaengend an den Kommentar sowie an die bereits eingefuegten Elemente) und nicht an die Position des HTML-Kommentares HIER NICHT. Kann mir jemand helfen?


[...]

<script type="text/javascript">
<!--
function plus () {
var tr_element = document.createElement("tr");
var td_element = document.createElement("td");

tr_element.appendChild(td_element);

document.getElementById("tabelle").appendChild(tr_element);
}
-->
</script>
<table id="tabelle" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Erste Zeile</td>
</tr>
<tr>
<td>Zweite Zeile</td>
</tr>
<tr>
<td>Dritte Zeile</td>
</tr>
<!--
HIER HIN
-->
<tr>
<td>Fuenfte Zeile</td>
</tr>
<tr>
<td>Sechste Zeile</td>
</tr>
<!--
HIER NICHT
-->
</table>

<form action="javascript:void(0)" method="">
<button type="button" onclick="plus()">PLUS</button>
</form>

[...]

Brauni90
21.07.2010, 17:16
Guck mal hier http://de.selfhtml.org/javascript/objekte/node.htm#insert_before.

Xardas der Dunkle
21.07.2010, 21:02
Falls es sich bei den beiden letzten Zeilen um den Footer der Tabelle handelt würde ich die Tabelle mit <thead>,<tbody> und <tfoot> strukturieren.

Ansonsten bleibt dir nur dieser Weg: (ungetestet :D)

var table = document.getElementById("tabelle");
var trs = table.getElementsByTagName("tr");
var pos = trs.length - 3;

table.insertAfter(tr_element, trs[pos]);

Bernd_das_Brot
25.07.2010, 01:59
Scheint nicht zu funktionieren. Trotzdem danke ; )

Habe es so geloest, dass ich verschachtelte Tabellen nutze, als Uebergangsloesung ....