1

重複の可能性:
jqueryが親の親を見つけるためにトラバースします

jQueryセレクターに小さな問題があり、しばらく試してみた後、これについてサポートが必要だと判断しました。

.submenuというクラスがあり、その.submenuの中にはクラス「groen」を持つ<p>要素があります。.submenu要素は、クラス「container_vragen」のdiv内にあります。これは「#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要素が選択されます。少し簡単にするために、プロジェクト全体のjsFiddleを次に示します。http://jsfiddle.net/86Hcc/

4

1 に答える 1

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);
   });
});
于 2013-01-08T23:36:28.573 に答える