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

您可以使用 jQuery .children()在 jquery 元素选择器之后选择子项

$('#geregeld , #niet_geregeld').children('.container_vragen').click(appendToContent_vragen)
于 2013-01-10T10:15:22.930 回答
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 回答