javascript - 为什么我的阵列中的内容副本会发布?
问题描述
当我单击按钮将文本添加到我的页面时,我希望我的输入值呈现在我的页面上。出于某种原因,对于我拥有的当前代码,除了已经存在的内容的副本之外,还会显示来自我的输入的新值,因此基本上以前的输入值在前端显示不止一次,而不是新项目刚刚被添加到列表中
这是codepen的链接,所以你可以看到会发生什么https://codepen.io/matthew-angel/pen/jOmJLBW
// Log out "Button clicked!" when the user clicks the "SAVE INPUT" button
let myLeads = []
const button = document.querySelector("#input-btn")
const inputEl = document.querySelector("#input-el")
// let inputText = inputEl.value
const ulEl = document.querySelector("#ul-el")
button.addEventListener("click", addText)
function addText() {
console.log(inputEl.value)
myLeads.push(inputEl.value)
console.log(myLeads)
render()
}
function render(){
for(let i = 0; i < myLeads.length; i++) {
// create element
// set text content
// append to ul
let li = document.createElement('li')
li.innerText += myLeads[i]
ulEl.appendChild(li)
console.log(li)
console.log(ulEl)
console.log( li.textContent)
}
}
解决方案
推荐阅读
- javascript - Jest.spyOn 非法调用
- flutter - 您好,我想知道如何在颤振中同时使用 java + kotlin 实际上我想使用这两种语言在颤振中创建自己的应用程序
- java - 调试多线程 Java 应用程序
- debugging - 更新 liquibase 到 3.8.9 调试日志默认开始出现
- flutter - 如何编辑 CupertinoSegmentedControl?
- python - 使用 PyCharm 从 root 中名为“test”的目录运行 unittest 不起作用
- mysql - SQL查询更多时间执行并最终出错
- angular - 是否可以在旧计算机上构建 Angular 代码
- docker - 将 jmeter.log 也发送到控制台标准输出
- node.js - 如何通过 https 在生产环境中部署 React 应用程序?