0

jQueryコードを少しクリーンアップしようとしていますが、コード内の関数を定義することでそれを行っていますが、かなり慣れていないので、少し問題が発生しました

    function appendToContent_vragen() {
    $(this).closest('.container_vragen').fadeOut(400, function() {
        $(this).closest('.container_vragen').appendTo('#content_vragen');
        $(this).closest('.container_vragen').css({overflow : 'hidden', color : 'black'});
        $(this).closest('.container_vragen').fadeIn(400);
    });
}

$('#geregeld , #niet_geregeld').on('click','.container_vragen').click(appendToContent_vragen);

このコードの問題は、クリック機能が機能しないことです。私がこうしたら

$('.container_vragen').click(appendToContent_vragen);

動作しますが、間違った .container_vragen を選択します ( #geregeld 、 #niet_geregeld div.

これがプロジェクト全体の jsFiddle です。一番上が関数です。

4

2 に答える 2

0

この行は次の行である必要があります。

$('#geregeld , #niet_geregeld').on('click','.container_vragen').click(appendToContent_vragen);

このようにする必要があります:

$('#geregeld , #niet_geregeld').on('click',function(){
    $('.container_vragen', this).click(appendToContent_vragen);
});

答えを修正する:

 $('#geregeld , #niet_geregeld .container_vragen').on('click',appendToContent_vragen);
于 2013-01-10T10:13:05.130 に答える
0

you can use jQuery .children() to select children after a jquery element selector

$('#geregeld , #niet_geregeld').children('.container_vragen').click(appendToContent_vragen)
于 2013-01-10T10:15:22.930 に答える