2010-09-16 14 views
0

Je cette html:jQuery sélectionner le parent d'un div

<div class="vt ddsitem"> 
     <a href="url"><img class="pt" id="xyz1" src="url"></a> 
     <div> 
      <img class="updown" src="images/updown.gif"> 
      <a href="url"><img class="bin" src="images/bin.gif"></a> 
     </div> 
    </div> 
    <div class="vt ddsitem"> 
     <a href="url"><img class="pt" id="xyz2" src="url"></a> 
     <div> 
      <img class="updown" src="images/updown.gif"> 
      <a href="url"><img class="bin" src="images/bin.gif"></a> 
     </div> 
    </div> 

Et je veux enlever le vt ddsitem div dans lequel l'image XYZ2 est un enfant.

essayé beaucoup de choses, comme:

$('#xyz2').parent().parent().remove(); 

, mais aucun d'entre eux a fait l'affaire.

Quelqu'un a-t-il une idée?

+0

Le code que vous avez fourni fonctionne très bien pour autant que je sache. Vous devez fournir le contexte dans lequel se trouve le code, car vous faites probablement quelque chose pour le casser ailleurs. Par exemple, mettez-vous votre code dans $ (document) .ready()? – lonesomeday

Répondre

1

.closest() est une bonne méthode pour faire ce que vous êtes après:

$('#xyz2').closest('.ddsitem').remove(); 

Bien que, ce que vous avez devrait travail, si elle est en cours d'exécution dans un gestionnaire document.ready, comme ceci:

$(function() { 
    $('#xyz2').parent().parent().remove(); 
}); 

You can see it in action here, le même document.ready enveloppe va pour la méthode .closest() ci-dessus ... les éléments doivent être prêts et dans le DOM avant que nous puissions trouver eux avec un sélecteur.

+0

La plus proche() était la solution! Étrange en effet que celui que j'ai utilisé n'a pas fonctionné. – MeProtozoan

1

Votre code semble être correct.

Utilisez-vous un plugin jQuery? Si vous le faites, il doit être envelopper votre div ou transformer votre code. Essayez d'utiliser Firebug pour voir ce qui se passe.

+0

Oui, j'utilise celui-ci http://www.stevefenton.co.uk/Content/Jquery-Drag-And-Drop-Sort/, la suggestion de Nick avec le plus proche était la solution! – MeProtozoan