insertBefore / insertAfter... DOM
Malte Ahrens
- javascript
0 Cheatah
Hallo,
ich generiere Klone ein Element und ändere dabei die Bildquelle. Allerdings wird das neue Bild vor dem alten eingefügt, es soll aber danach stehen... Ich vermute, dass es am insertBefore liegt, den Befehlt insertAfter gibt es aber nicht. Wie kann ich es hinbekommen, dass das neue Bild nach dem alten eingefügt wird?
Gruß,
Malte
Hier mein Quellecode:
<html>
<head>
<script language="javascript">
<!--
var counter = 0;
bildcounter = 1
function moreFields()
{
counter++;
bildcounter--;
neuesbild = new Image();
neuesbild.src = "bild"+bildcounter+".gif";
document.images[0].src = neuesbild.src
var newFields = document.getElementById('test').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++)
{
var theName = newField[i].name
if (theName)
newField[i].name = theName + counter;
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
// -->
</script>
</head>
<body onLoad="if (parent.erin) parent.erin('domform'); moreFields()" onUnload="if (parent.eruit) parent.eruit('domform')">
<table>
<tr>
<th>
<span id="writeroot"></span>
</th>
</tr>
</table>
<div id="test" style="display: none">
<input type="button" value="Aufklappen" onClick="moreFields()">
<input type="button" value="Entfernen" onClick="this.parentNode.parentNode.removeChild(this.parentNode);"><br>
<img src="bildx.gif">
</div>
</body>
</html>
Hi,
den Befehlt insertAfter gibt es aber nicht.
nein. Es gibt nextSibling und appendChild, welches Dir in Kombination mit insertBefore völlig ausreicht.
Cheatah