我试图将一些数据添加到新生成的Div元素中,但它不会起作用。
$.ajax({
type: "POST",
url: 'code/submit/submitGetChat.php',
data: "id="+chatListArray[i],
async: false,
success: function(data){
$('#chatItemContent_' + chatListArray[i]).empty();
$('#chatItemContent_' + chatListArray[i]).append(data);
$('#chatItemContent_' + chatListArray[i]).animate({ scrollTop: $(document).innerHeight() }, 1);
}
});
这是当前的代码。 Ajax调用的结果应该附加在父元素上。
答案 0 :(得分:2)
我要在黑暗中刺伤(虽然是受过教育的人)。
看起来你正在循环一堆ajax调用并希望将结果数据传递给相关元素,但是你已经赢得了这样做。索引值不是本地的,因此在ajax调用完成时它是不同的。尝试在这样的机箱中包装ajax调用...
(function(id) {
$.ajax({
type: "POST",
url: 'code/submit/submitGetChat.php',
data: "id=" + id,
async: false,
success: function(data){
$('#chatItemContent_' + id).empty();
$('#chatItemContent_' + id).append(data);
$('#chatItemContent_' + id).animate({ scrollTop: $(document).innerHeight() }, 1);
}
});
})(chatListArray[i]);
另外,作为旁注,您可以在成功回调中链接您正在使用的功能,例如......
$('#chatItemContent_' + id)
.empty()
.append(data)
.animate({ scrollTop: $(document).innerHeight() }, 1);
它不会打破音障或类似的东西,但选择一次而不是3次会更快:)