2010-09-16 4 views
0

У меня есть этот HTML:JQuery выбора родителя 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> 

И я хочу, чтобы удалить В.Т. ddsitem DIV, в котором в xyz2 изображения является дочерним.

Пробовал много вещей, как:

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

, но ни один из них не сделал трюк.

У кого-нибудь есть ключ?

+0

Код, который вы предоставили, отлично работает, насколько я могу судить. Вы должны указать контекст, в котором находится код, потому что вы, вероятно, что-то делаете, чтобы сломать его в другом месте. Например, вы помещаете свой код в $ (document) .ready()? – lonesomeday

ответ

1

.closest() хороший способ сделать то, что вы после:

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

Хотя, что у вас есть должны работать, если он работает в document.ready обработчик, например:

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

You can see it in action here, тот же document.ready обертка идет для метода .closest() выше ... элементы должны быть готовы и в DOM, прежде чем мы сможем найти их с селектором.

+0

Ближайшее() решение! Странно, что тот, который я использовал, не работал. – MeProtozoan

1

Ваш код выглядит нормально.

Вы используете какой-либо плагин jQuery? Если вы это сделаете, это должно быть обертывание вашего div или преобразование вашего кода. Попробуйте использовать Firebug, чтобы посмотреть, что происходит.

+0

Да, я использую этот http://www.stevefenton.co.uk/Content/Jquery-Drag-And-Drop-Sort/, предложение Ника с ближайшим решением было решением! – MeProtozoan

Смежные вопросы