appendChild als neues Element
ckmuc
- javascript
Hallo,
irgendwie steh ich heute auf dem Schlauch.
Ich habe ein <span id="4711" class="editable">bla bla bla</span>.
Über eine JS möchte ich nun NACH diesem <span> ein <img src="bild.jpg"> einfügen. Das MUSS ausserhalb vom <span> stehen. Bei einem Klick auf diese Bild wird dann ggfs. ein Editor Fenster mit dem Inhalt aus dem SPAN zur Bearbeitung geöffnet.
Hier das, was ich bisher habe - leider wird das <img> immer INNERHALB vom <span> angezeigt ...
Die Funktion attach_edit_link() klappt noch nicht ganz ...
function attach_edit_link(parentID)
{
var imgId = "edit_" + parentID;
var edit_img=document.createElement("IMG");
edit_img.src="edit.gif";
edit_img.id=imgId;
edit_img.alt = "Click text edit!";
edit_img.style.cursor = "pointer";
edit_img.onclick = function () { editTextBox(parentID); }
var parentNode= document.getElementById(parentID);
// parentNode.appendChild(edit_img);
// das Bild wird nach dem Text im Span einfefügt
parentNode.insertBefore( edit_img, parentNode.firstChild);
//Image wird am Anfang vom Text aber wiederrum innerhalb von span gezeigt
}
Freue mich auf Eure Hilfestellung und bis dahin wünshe ich Euch allen einen Guten Rutsch!
C.
Hi,
Ich habe ein <span id="4711" class="editable">bla bla bla</span>.
Über eine JS möchte ich nun NACH diesem <span> ein <img src="bild.jpg"> einfügen.
MfG ChrisB
MfG ChrisB
Hi Chris,
da war ich auch schon - kannst Du mir einen Tipp bei der korrekten Syntax dazu geben?
C.
Hi,
da war ich auch schon
Und wo liegt dein Verständnisproblem?
- kannst Du mir einen Tipp bei der korrekten Syntax dazu geben?
Ist da *ausführlich* erklärt, wie man für *genau* *das*, was du vorhast, vorgehen kann.
MfG ChrisB
Hallo,
ich würde sagen, du solltest den code nur auf den versuch reduzieren, ein neues element einzufügen. der rest kommt später.
<div id="parent">
<span>kind1</span>
</div>
<button onclick="appendSpan()">append()</button>
<script type="text/javascript">
[code lang=javascript]
appendSpan = function() {
p = document.getElementById("parent");
s = document.createElement("span");
t = document.createTextNode("appended");
s.appendChild(t);
p.appendChild(s);
}
</script>
[/code]
Gruß
jobo
@@ckmuc:
nuqneH
Ich habe ein <span id="4711" class="editable">bla bla bla</span>.
Und damit kein valides HTML. [HTML401 §6.2]
Qapla'