Mario: Onclick funktioniert nicht (removeChild)

Guten Abend,
ich versuche mit onclick ein removeChild auszulösen:

	myLink.onclick = document.removeChild(div);  
	div.appendChild(myLink);

(myLink ist ein Link)
Eig. müsste nach meiner Vorstellung der div erst gelöscht werden, wenn ich auf den Link klicke. Der div (habs auch schon mit einem Bild probiert) wird jedoch gleich zerstört, wenn ich die Funktion aufrufe, in der ich MyLink erstelle.
Ich hoffe ihr könnt mir weiterhelfen.
Gruß, Mario
PS: Ich hoffe der Codeschnipsel reicht, schicke gern auch den gesamten Code, wollten nur nicht alle gleich damit abschrecken.

  1. [latex]Mae  govannen![/latex]

    myLink.onclick = document.removeChild(div);

    Eig. müsste nach meiner Vorstellung der div erst gelöscht werden, wenn ich auf den Link klicke.

    Nein. Lies das (Am Besten nicht nur diesen Abschnitt, sondern alles; lohnt sich)

    Cü,

    Kai

    --
    Hard to believe that anyone would use Prototype.js at this
    point. It was a bad idea in 2006 and it hasn't gotten any better with age. (David Mark)
    Foren-Stylesheet Site Selfzeugs
    SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
    1. Vielen Dank, für den Link.
      Er war sehr hilfreich. Es funktioniert nun alles, so wie es soll.
      Also nochmal danke euch beiden.
      Gruß, Mario

  2. Hallo,

    myLink.onclick = document.removeChild(div);  
    

    div.appendChild(myLink);

    
    >   
    > (myLink ist ein Link)  
    > Eig. müsste nach meiner Vorstellung der div erst gelöscht werden, wenn ich auf den Link klicke.  
      
    dann musst du deine Vorstellung berichtigen. Denn du rufst hier removeChild() auf und das Funktionsergebnis, also das aus dem DOM gelöschte Objekt, weist du dann dem Eventhandler zu (was natürlich keinen Sinn ergibt).  
    Du musst stattdessen eine Referenz auf die auszuführende Funktion übergeben:  
      
    `obj.onclick = funktion;`{:.language-javascript}  
      
    Da du der Funktion noch Argumente mitgeben möchtest, ist das nicht ganz so trivial; du wirst den Funktionsaufruf vermutlich noch in eine anonyme Funktion kapseln wollen:  
      
    `myLink.onclick = function() { document.removeChild(div); };`{:.language-javascript}  
      
    
    > PS: Ich hoffe der Codeschnipsel reicht  
      
    Das Problem ist eindeutig, fast schon ein Klassiker. Darum hatte [Kai](https://forum.selfhtml.org/?t=190055&m=1266286) auch gleich einen Beitrag von Mathias Schäfer zur Hand.  
      
    So long,  
     Martin  
    
    -- 
    Lache, und die Welt wird mit dir lachen.  
    Schnarche, und du schläfst allein.