2014-05-19 75 views
0

我在圖像上有一個div。我想使用jQuery點擊事件來刪除(或更改div類)圖像點擊div。在jQuery中刪除父類Div內的div類

Div結構。

<div class="post"> 

<img class="thumb" src="MyImg.jpg"> 

<div class="show-div"></div> 

</div> 

我想將類show-div切換到remove-div。

這裏是我的jQuery

$(document).ready(function(){ 
$(".thumb").click(function(){ 

    $(this).parent().('.show-div').toggleClass('remove-div'); 
    }); 
}); 

我已刪除-DIV類顯示沒有在CSS樣式表。但這似乎並不奏效。我也試過

$(this).parent().find('.show-div').toggleClass('remove-div'); 

請注意,這是一個PHP while循環,在這個頁面會有多個div。

如果有人能指出我採取正確的方式來做到這一點,那麼這將是最合適的。

+0

第二次嘗試看起來正確,這取決於你的CSS。 –

回答

2

試試這個:

$(document).ready(function(){ 
$(".thumb").click(function(){ 
    $(this).parent().find('div.show-div').removeClass('show-div').addClass('remove-div'); 
    }); 
}); 
+0

完美。它效果很好。謝謝一堆。 – zack

+0

@zack,但你可以切換回...? –

+0

你的回答比較好,我沒有看到我的帖子... – pecci

2

給出的代碼工作http://jsfiddle.net/4WDet

但是,你沒有刪除.show-div,所以如果這是display: block和你的CSS規則順序是你的問題。

.remove-div{ 
    display:none; 
} 
.show-div{ 
    display:block; 
} 

在這種情況下,切換CSS樣式各地

.show-div{ 
    display:block; 
} 
.remove-div{ 
    display:none; 
} 

切換這兩個類

$(this).parent().find('.show-div').toggleClass('remove-div show-div'); 

但問題是,你不會找到一遍的div ,所以你需要改變選擇器:

$(this).parent().find('.show-div, .remove-div').toggleClass('remove-div show-div'); 

Working example

1

.show-DIV不是.thumb的父母,但兄弟姐妹。你有沒有嘗試過?

$(this).siblings('.show-div').toggleClass('remove-div'); 

請注意,如果有多個.show-div兄弟,這將返回一個數組。

0
$(this).siblings().toggle("slow"); 

試試這個