ckmuc: appendChild als neues Element

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.

  1. 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.

    insertBefore

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. insertBefore

      MfG ChrisB

      Hi Chris,

      da war ich auch schon - kannst Du mir einen Tipp bei der korrekten Syntax dazu geben?

      C.

      1. Hi,

        insertBefore

        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

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. 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

  3. @@ckmuc:

    nuqneH

    Ich habe ein <span id="4711" class="editable">bla bla bla</span>.

    Und damit kein valides HTML. [HTML401 §6.2]

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)