如何从带有for循环的数组中附加div容器(在JavaScript中)

如何从带有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,您需要将循环限制为小于长度。这是因为长度始终比迭代的索引大

如何在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,您需要将循环限制为小于长度。这是因为长度始终比迭代的索引大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你对这段代码有什么问题?@technophyle它只是说unfinedwhat说unfined?我的服务器用{room:{room:happyfone,msgs:[New room Created.,mymessage]}@technophyle li标签响应