2011-11-08 91 views
1

我有這樣的代碼:如何使用jquery刪除div?

<div class="container"> 
    <div class="row"> 
     <div class="col"> 
     <a href="1" class="delete_activity">x</a> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col"> 
     <a href="2" class="delete_activity">x</a> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col"> 
     <a href="3" class="delete_activity">x</a> 
     </div> 
    </div> 
    </div>   

的「delete_activity」點擊後,我需要刪除的「行」的div有聯繫。 在這種情況下對X用戶點擊(HREF = 1),我需要刪除:

<div class="row"> 
     <div class="col"> 
     <a href="1" class="delete_activity">x</a> 
     </div> 
    </div> 

我如何用jQuery做呢?

+3

你真的試過了嗎?如果是的話,我們可以看到你的產品? –

+0

我想你也需要從數據庫中刪除或僅從HTML中刪除。 bcoz在頁面刷新。你會再次看到它,如果你只用'jQuery'來做它, – diEcho

回答

8

的最好方法就是使用closest()

$('.delete_activity').click(function(){ 
    $(this).closest('.row').remove(); 
}); 

不要使用parents(除非這是你想要的行爲)。

closest將只移除創建DOM樹的第一個元素。

parents將刪除與DOM樹匹配的所有元素。

2
$(".delete_activity").click(function(event) { 
    event.preventDefault() 
    $(this).parents('.row').remove(); 
}); 
4
$('.delete_activity').click(function(){ 
    $(this).parents('.row').remove(); 
}); 

文檔:http://api.jquery.com/remove/

+0

這將只刪除一個標籤! –

+0

Upvoted因爲您提供了文檔鏈接 –

+0

@poelinca - 你怎麼看? – motoxer4533

0

嘗試這樣做以下

$('.delete_activity').click(function (e) { 
    $(this).parents('div.row').remove(); 
    e.preventDefault(); 
}); 
0
$('.delete_activity').click(function(){ 
    $(this).parents('row:first').remove(); 
}); 

先使用上面的第一個父項!