这是因为
.each()
运行时循环匹配的元素…调用时新元素不在那里。解决方案:再次调用,但仅在添加新元素时才调用。你需要打同样的电话
.each()
在ajax结果上,使用结果的上下文来限制每个结果。
$(".myDiv").each(function() {
//stuff here
});
您需要在success(或complete,无论您使用什么)ajax函数中调用相同的选择器和相同的代码,如下所示:
success: function(resp) {
$(".myDiv", resp).each(function() { //each, but only on the new guys
//stuff here (same as before)
});
//Do more stuff with your response...
}
, resp
仅在第二个参数的上下文中
根据新问题代码进行更新
(可选,不需要)
:
$('#chk-selected').change(function(){
if($(this).is(':checked')) {
$(".lib-item.item-selected").slideDown('fast');
}
else {
$(".lib-item.item-selected").slideUp('fast');
}
});
(这不会更改选择,只会触发处理程序运行)
:
onComplete: function(event, queueID, fileObj, response, data)
{
$(".blank").remove();
$("#lib-contentWrap").append(response);
$('#chk-selected', response).trigger('change');
}