2012-02-22 93 views
1

這是我的數據是這樣的:我怎樣纔能有一個孩子元素操縱父母兄弟姐妹?

<div class="shower"> 
</div> 
<div class="container"> 
    <div class="box"> 
     <div class="hider"> 
     </div> 
    </div> 
</div> 
<div class="shower"> 
</div> 
<div class="container"> 
    <div class="box"> 
     <div class="hider"> 
     </div> 
    </div> 
</div> 

的onclick藏起來的我想隱藏().container並顯示.shower多數民衆贊成位於前最接近.container。點擊.shower我想隱藏.shower被點擊並顯示下一個.container。

我如何在jQuery中實現這一點?我應該重構我的html嗎?

回答

5

事情是這樣的:

$('.hider').click(function(e) { 
    var container = $(this).parent().parent(); 
    container.hide(); 
    var shower = container.prev(); 
    shower.show(); 
}) 

的jsfiddle:

或者這個,如果你想使用closest

$('.hider').click(function(e) { 
    var container = $(this).closest('.container'); 
    container.hide(); 
    var shower = container.prev(); 
    shower.show(); 
}) 

的jsfiddle:

+0

$('.hider').click(function(e) { var container = $(this).parent().parent(); container.hide(); var shower = container.prev(); shower.show(); }) $('.shower').click(function(e) { var container = $(this).next(); container.show(); $(this).hide(); }) ​ 

icyrock的原始的jsfiddle叉非常感謝你。 – DavidW 2012-02-22 02:10:23

+0

當然,很樂意幫忙! – 2012-02-22 02:11:09

相關問題