2

我的脚本返回数据(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 类的新项目?

4

1 回答 1

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);
       }    
    });    
});

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

于 2013-02-15T15:29:14.213 回答