问题: 在使用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>`)
})
})