jQuery选择器.parent

时间:2013-01-08 23:31:52

标签: jquery selector

  

可能重复:
  jquery traversing to find a parent’s parent

我遇到一个jQuery选择器的小问题,经过一段时间的尝试后,我觉得我需要一些帮助。

我有一个名为.submenu的类,其中.submenu是< p为H.元素与“groen”类。 .submenu元素位于div中,类为“container_vragen”。这是一个名为“#content_vragen”的容器ID。

<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元素。只是为了让事情变得更容易,这是整个项目的一个小问题:http://jsfiddle.net/86Hcc/

1 个答案:

答案 0 :(得分: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);
   });
});