webForumDet fria alternativet

Ta bort ett element på sidan

4 svar · 490 visningar · startad av vic

vicMedlem sedan apr. 2006244 inlägg
#1

Hejsan!

Jag försöker ta bort ett element från sidan med javascript men det vill sig inte. I mozilla får jag uncaught exception att den inte hittar noden och i explorer säger den att det är ett ogiltigt argument. Ungefär så här gör jag


<div>
  <p><a href="#" onclick="document.removeChild(this.parentNode.parentNode); return false;">Ta bort</a></p>
</div>

Det är alltså hela div som ska bort, en div som har skapats dynamiskt. Jag kommer inte kunna sätta något id på divven. Jag kommer heller aldrig veta exakt var i dokumentet som divven ligger. Vad är det jag gör fel?

mvh Vic

effataMedlem sedan apr. 2008137 inlägg
#2

Du kan inte använda this på det sättet. Du behöver läsa ut DOM-target från eventobjektet för detta.

Typ så här:

function removeClickElement(e) {
      var event = e || window.event;
      var target = event.target || event.srcElement;
      var toRemove = target.parentNode.parentNode;
      toRemove.parentNode.removeChild(toRemove);
}

Så får du anropa funktionen så här:

<a href="#" onclick="removeClickElement();return false;">

Koden är inte testad, men konceptuellt ska det funka.

Peter SMedlem sedan dec. 20025 483 inlägg
#3

Glöm inte att skicka in event till removeClickElement() :)

effataMedlem sedan apr. 2008137 inlägg
#4

Förstås. Jag är så van vid att jobba med YUI.event, så får man sånt gratis. :)

vicMedlem sedan apr. 2006244 inlägg
#5

Tackar så hemskt mycket!

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)