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

JavaScript待办清单点击提交将输入内容转为列表项不生效问题求助

你的代码存在两个核心问题导致功能不生效:

  • 仅在JS内存中创建了li元素,没有将其插入到页面DOM树中,浏览器不会渲染该元素
  • 现有HTML结构没有提供承载li列表项的父容器(ul/ol标签)

修复后的完整代码

HTML部分

<h1 id="title">To do list</h1>
<div class="main">
    <input type="text" alt="type text here" id="txt">
    <!-- 将submit类型改为button,避免误触表单提交导致页面刷新 -->
    <button type="button" id="btn">Submit</button>
</div>
<!-- 新增待办列表承载容器 -->
<ul id="todoList"></ul>

JS部分

let btn = document.getElementById('btn')
let txt = document.getElementById('txt')
let todoList = document.getElementById('todoList')

btn.addEventListener('click', function(){
    // 空内容校验,避免添加空白待办,不需要可以删除该行
    if (!txt.value.trim()) return
    let list = document.createElement('li')
    // 用textContent替代innerHTML更安全,避免XSS注入风险
    list.textContent = txt.value
    // 将创建的li元素插入到列表容器中,才会渲染到页面
    todoList.appendChild(list)
    // 添加完成后清空输入框,优化使用体验,不需要可以删除该行
    txt.value = ''
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:45:04