2017-05-24 68 views

回答

0

是的,但您需要使用.on()或.live(),具體取決於您使用的是哪個版本的JQuery。

http://api.jquery.com/on/

http://api.jquery.com/live/

好了,所以嘗試這裹這一個功能

function doSlideDown(){ 
    $('ul > li > input[type="checkbox"]').on("click", function() {   

    var parent = $(this).parent("li"); 
    if($(this).is(":checked") === true) { 
    // move to the top 
    $(parent).slideUp(300, function() { 
     $(parent).prependTo($(parent).parent()); 
     $(parent).slideDown(300); 
    }); 
    } else { 
     $(parent).slideUp(300, function() { 
     $(parent).appendTo($(parent).parent()); 
     $(parent).slideDown(300); 
     }); 
    } 
}); 
} 

然後添加此文檔準備功能

$(document).ajaxComplete(function() { 
    doSlideDown(); 
}); 

之外這將更新DOM每次運行一些ajax和a增加一個新項目。

+0

我會在這種情況下使用.on()。 – RP12

+0

如果你發佈了更多的代碼,我可以寫出來給你 – garek007

+0

https://jsfiddle.net/rohithdm/fvfymf0b/ 這是這樣的。我知道它在這裏似乎工作正常,但這是因爲數據不是由數組生成的,所以我很難發佈所有的後端代碼,因爲有這麼多。基本上,更多的東西id被添加到數組中,並且它不會獲得滑動式動畫。 – RP12