如何从带有for循环的数组中附加div容器(在JavaScript中)
如何在JavaScript中从带有for循环的数组中附加div容器 这就是我尝试过的: 设置间隔函数{ $.get/get\u room?room=+roomCode.thenres=>{ var li=document.createElementli; $.messages_容器[0]。innerHTML=;如何从带有for循环的数组中附加div容器(在JavaScript中),javascript,jquery,Javascript,Jquery,如何在JavaScript中从带有for循环的数组中附加div容器 这就是我尝试过的: 设置间隔函数{ $.get/get\u room?room=+roomCode.thenres=>{ var li=document.createElementli; $.messages_容器[0]。innerHTML=; forlet i=0;i您需要在循环中创建并附加li,否则您只需为每条消息创建一个li intead。由于for循环的索引为0,您需要将循环限制为小于长度。这是因为长度始终比迭代的索引大
forlet i=0;i您需要在循环中创建并附加li,否则您只需为每条消息创建一个li intead。由于for循环的索引为0,您需要将循环限制为小于长度。这是因为长度始终比迭代的索引大1 此外,还应该能够使用jQuery清空容器的html-$.messages\u container[0].html
setInterval(function(){
$.get("/get_room?room=" + roomCode).then((res) => {
$(".messages_container")[0].innerHTML = "";
for(let i=0; i< res.room.msgs.length; i++){ // note the removal of "="
var li = document.createElement("li"); // moved the li creation to here
li.innerHTML = res.room.msgs[i];
$(".messages_container")[0].appendChild(li)
}
});
}, 2000);
你有两个问题:
li元素应该单独创建,而不是在每次迭代中重用相同的变量。
for循环应该迭代正确的迭代次数。
请参见演示:
常数res={
房间:{
房间:happyfone,
msgs:[已创建新房间,mymessage]
}
};
$.messages_容器[0]。innerHTML=;
对于let i=0;i