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

如何在任务列表项旁添加删除按钮?附现有代码优化需求

解决方法

你的代码目前存在两个问题:一是所有任务项都使用了重复的id="list"(HTML规范要求id必须唯一);二是删除按钮未绑定移除任务的逻辑。以下是修改后的完整代码:

原HTML无需改动,保持如下

<ul id="listid">
</ul>
<input id="text-area">
<button id="submit">submit</button>

修改后的JavaScript代码

document.getElementById('submit').addEventListener('click', withClick);

function withClick(e) {
  // 获取输入框内容并去除首尾空格,为空则不添加任务
  const inputVal = document.getElementById("text-area").value.trim();
  if (!inputVal) return;

  const li = document.createElement('li');
  li.className = 'collection-item';
  // 添加任务文本内容
  li.appendChild(document.createTextNode(inputVal));
  
  // 创建删除按钮
  const button = document.createElement('button');
  button.textContent = 'x';
  button.className = "button";
  // 给按钮绑定点击事件,点击时移除当前对应的任务项
  button.addEventListener('click', function() {
    li.remove();
  });
  
  li.appendChild(button);
  document.getElementById('listid').appendChild(li);
  
  // 清空输入框,方便下一次输入
  document.getElementById("text-area").value = '';
}

关键调整说明

  • 删除了重复的li.id = 'list',避免id冲突问题
  • 为删除按钮添加点击事件,通过li.remove()直接移除当前任务项
  • 增加输入内容为空的判断,防止添加空任务
  • 新增任务后自动清空输入框,优化操作体验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:50:26