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

tablecategoryname クラスの新しい項目で JQuery が機能しないのはなぜですか??

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 に答える