2013-07-20 4 views
-1

Im, использующий jQuery для удаления и исчезновения контейнера с элементами. Этот код будет удалять и исчезать поле класса div2. что я хочу сделать, чтобы убрать поле div класса1. без изменения ссылки удаления на box1.jQuery delete and fade

если кто-нибудь может указать мне, как это сделать, высоко присвоен. спасибо в advace.

<div class="box1"> 

<div class="box2"> 

<a href="#" id="1" class="delete">x</a> 

</div> 

</div> 

JavaScript

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#load').hide(); 
}); 

$(function() { 
    $(".delete").click(function() { 
     $('#load').fadeIn(); 
     var commentContainer = $(this).parent(); 
     var id = $(this).attr("id"); 
     var string = 'id=' + id; 

     $.ajax({ 
      type: "POST", 
      url: "delete.php", 
      data: string, 
      cache: false, 
      success: function() { 
       commentContainer.slideUp('slow', function() { 
        $(this).remove(); 
       }); 
       $('#load').fadeOut(); 
      } 

     }); 

     return false; 
    }); 
}); 
</script> 
+0

Где мой #load элемент? – Octopus

+0

Я не понимаю, что вы имеете в виду:. без изменения ссылки удаления на box1. – steo

ответ

0

Попробуйте этот код:

$(function() { 
    $('#load').hide(); 

    $('.delete').click(function(){ 
     $('#load').fadeIn(); 

     $(this).parent().slideUp('slow', function() { 
      $('.delete').appendTo('.box1') 
      $(this).remove(); 
      $('#load').fadeOut(); 
     }); 

     return false; 
    }) 
}) 
0

Если вы измените его на var commentContainer = $(this).parent().parent();. Теперь он будет нацелен на .box1. Вы можете разворачивать .box2:

commentContainer.slideUp('slow', function() { 
    $('.box2').unwrap(); 
    $(this).remove(); 
}); 
0

Я считаю, что вы хотите

var commentContainer = $(this).parent().parent(); 

, чтобы добраться до .box1 и не .box2 ли это решить проблему?

Всего несколько комментариев. Действительный идентификатор должен начинаться с буквенного символа. Неверная цифра «1». «a1» было бы лучше или просто «а». Также используйте обратный вызов ajax done, а не success, поскольку он в настоящее время устарел.