JQuery不适用于新插入的数据

moz*_*ozg 2 html javascript ajax jquery

我的脚本返回数据(ul列表),但JQuery不适用于新插入的数据.

JQuery的

$(".tablecategoryname").on('click', function(){
    var $a = $(this).closest('li').attr('id');
    var $c = $(this).closest('li');

    $.ajax({
       type: "POST",
       url: "functions.php",
       data: {subcategory:$a},
       cache: false,
       success: function(data)
       {
            $(data).hide().insertAfter($c).slideDown(400);
       }    
     });    
});
Run Code Online (Sandbox Code Playgroud)

为什么jQuery不能使用tablecategoryname类的新项?

ade*_*neo 7

您需要具有动态元素的委托事件处理程序:

$(document).on('click', '.tablecategoryname', function(){
    var $c = $(this).closest('li'),
        $a = $c.attr('id');

    $.ajax({
       type: "POST",
       url: "functions.php",
       data: {subcategory : $a},
       cache: false,
       success: function(data) {
            $(data).hide().insertAfter($c).slideDown(400);
       }    
    });    
});
Run Code Online (Sandbox Code Playgroud)

用最接近的非动态父级替换文档!