2013-01-08 43 views
1

可能重複:
jquery traversing to find a parent’s parentjQuery選擇.parent

我有一個小問題,jQuery選擇,並試圖自己一段時間後,我決定,我需要一些幫助,這個。

我有一個名爲.submenu的類,裏面的.submenu是一個< p>元素,類爲「groen」。 .submenu元素位於類「container_vragen」的div內。這是一個名爲「#content_vragen」的容器標識。

<div id="content_vragen"> 

    <div class="container_vragen"> 
     <div class="submenu"> 
      <p class="groen">groen</p> 
     </div> 
    </div> 

    <div class="container_vragen"> 
     <div class="submenu"> 
      <p class="groen">groen</p> 
     </div> 
    </div> 

    <div class="container_vragen"> 
     <div class="submenu"> 
      <p class="groen">groen</p> 
     </div> 
    </div> 

</div> 

$('.submenu').on('click','.groen',function() { 
    $(this).parents('#content_vragen').find('.container_vragen').fadeOut(400, function() { 
     $(this).parents('#content_vragen').find('.container_vragen').css('overflow', 'hidden'); 
     $(this).parents('#content_vragen').find('.container_vragen').appendTo("#geregeld"); 
     $(this).parents('#geregeld').find('.container_vragen').css('color', 'green'); 
     $(this).parents('#geregeld').find('.container_vragen').fadeIn(400); 
    }); 
}); 

所以我很容易的問題是:我該怎麼做一個動作只在其中的類被點擊.groen的.container_vragen類。我以爲我必須選擇這個(.groen按鈕)的父級,並將其返回到.container_vragen,但這樣它會選擇所有.container_vragen元素。只是爲了讓事情變得更簡單,這裏的整個項目的的jsfiddle:http://jsfiddle.net/86Hcc/

+0

結賬答案最接近的類.. – insomiac

回答

2

您可以使用皮卡closest()

$('.submenu').on('click','.groen',function() { 
    $closestDiv = $(this).closest('.container_vragen'); 
    $closestDiv.fadeOut(400, function() { 
     $closestDiv.css('overflow', 'hidden'); 
     $closestDiv.appendTo("#geregeld"); 
     $(this).parents('#geregeld').find('.container_vragen').css('color', 'green'); 
     $(this).parents('#geregeld').find('.container_vragen').fadeIn(400); 
    }); 
});