JQuery不适用于新插入的数据

时间:2013-02-15 15:27:41

标签: javascript html 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);
       }    
     });    
});

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

1 个答案:

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

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