You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何点击按钮时更新ul内的li而非新增?代码问题咨询

解决点击按钮更新ul列表而非新增元素的问题

问题根源在于每次调用poke函数时,没有先清空<ul>容器内的现有<li>元素,导致新元素持续追加。只需在生成新列表前清空容器即可解决。

修改后的代码

async function poke(link){
  const response = await fetch(link);
  const poke_data = await response.json();
  
  // 先清空ul内的所有现有元素
  ability_ul.innerHTML = '';

  for(let i = 0; i < 3; i++) {
    const ability_li = document.createElement('li');
    ability_li.innerText = poke_data.moves[i].move.name;
    ability_ul.appendChild(ability_li);
  }
}

button1.addEventListener("click", () => {
  let num = Math.floor(Math.random() * 151);
  const store = data.results[num].url;
  poke(store);
})

关键修改点

  • 在循环生成新<li>之前,通过ability_ul.innerHTML = '';清空容器内的所有内容,确保每次点击都重新生成列表
  • 给未声明的变量(如poke_data、ability_li)加上const或let,避免全局变量污染

内容的提问来源于stack exchange,提问作者anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 04:18:14