我正在尝试添加一些数据到一个新生成的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调用的结果应该附加在父元素上。
我将在黑暗中尝试一下(尽管是受过教育的人;)。
看起来您正在循环通过一堆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);
它不会打破音障或类似的东西,但它做一次选择比三次更快:)