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

如何移除包含指定内容的<li>元素?JavaScript代码求助

解决移除包含特定词汇的
  • 元素问题
  • 你的takeOut函数失效有两个核心问题:

    • includes()方法返回的是布尔值(true/false),布尔值没有.remove()方法,直接链式调用会报错
    • document.querySelector("li")只会选中页面中第一个
    • ,没法定位到
        中任意位置的目标元素

      下面是修正后的完整代码:

      const WORD_BANK = [
          ["day", "1"],
          ["month", "2"],
          ["year", "3"]
      ];
      
      let counter = 0;
      
      function addTo() {
          document.getElementById("list").innerHTML += `<li>${WORD_BANK[counter][0]}<br>${WORD_BANK[counter][1]}</li>`;
          counter++;
          // 防止counter越界,循环添加
          if (counter >= WORD_BANK.length) counter = 0;
      }
      
      function takeOut() {
          // 获取<ul>下的所有<li>元素
          const allItems = document.querySelectorAll("#list li");
          // 遍历每个元素,检查是否包含目标词汇
          allItems.forEach(item => {
              if (item.innerHTML.includes(WORD_BANK[0][0])) {
                  item.remove();
              }
          });
      }
      
      <ul id="list"></ul>
      <button id="add" onclick="addTo()">ADD</button>
      <button id="remove" onclick="takeOut()">REMOVE</button>
      

      关键改动说明:

      1. 替换元素选择方式:用document.querySelectorAll("#list li")精准获取目标
          下的所有
        • ,确保能覆盖任意位置的元素
        • 正确判断并移除:遍历每个
        • ,先通过includes(WORD_BANK[0][0])判断是否包含目标词汇,再对符合条件的元素调用.remove()
        • 额外添加了counter越界处理,避免点击ADD按钮时超出数组范围报错

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

    相关产品推荐
    方舟 Agent Plan

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

    最近更新时间:2026.08.26 07:36:20