问题: 在使用setInterval循环定时器请求接口的时候,使用$('.center-main').append(`<div>111</div>`)动态添加结构,会导致每请求一次接口,$('.center-main')里多累计添加一个div元素。

  解决方法:就是在每次请求完接口之后,添加元素之前,先判断一下$('.center-main')是否有div这个结构,有就先清除再append添加。empty() 方法是移除被选元素的所有子节点和内容,不会移除被选元素本身。

   //先判断一下被选元素的长度是否为0,不等于0就说明里面有子节点,需要先移除
   if ($('.center-main').length != 0) {
           $('.center-main').empty()
         }

  //data是请求接口得到的数组,先循环再添加
   data.map((item, index) => {
       item.FloorList.map(t => {
           $('.center-main').append(`
                 <div  style='margin-top:10px;'>
                       <span>${item.BuildName}</span>
                       <span>${t.FloorName}</span>
                 </div>`)
           })
        })

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐