我有一个无序列表,里面的li元素是根据后端数组中的项目数来呈现的。
随着新项目添加到数组中,将呈现相应的li元素并在我的列表中弹出。是否可以为每个新的li元素赋予slideDown()动画?
答案 0 :(得分:0)
是的,但您需要使用.on()或.live(),具体取决于您使用的JQuery版本。
好的,请尝试将此包装在函数
中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();
});
每次运行一些ajax并附加一个新项目时,这将更新DOM。