在javascript中列出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javascript中列出相关的知识,希望对你有一定的参考价值。
如何阻止此javascript代码将最后一次迭代次数传递给删除函数?
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="lista"></div>
</body>
<script type="application/javascript">
var dados = ['vassoura','lixo','papel'];
function deletar(elemento){
console.log(elemento);
}
function listar(){
var div = document.getElementById('lista');
for(i in dados){
campo = document.createElement("output");
button = document.createElement("button");
button.addEventListener("click",()=>{
deletar(dados[i]);
});
button.innerHTML="deletar";
div.appendChild(campo);
div.appendChild(button);
console.log(i);
campo.value = dados[i]+" ";
console.log(dados[i]);
}
}
listar();
</script>
它传递的是与迭代相对应的最后一个数字,因为当我点击按钮时,迭代已经完成并完成
答案
看起来这是一个变量范围的常见错误。
最简单的方法是使用闭合或至少用for(i in dados)
替换for(let i in dados)
另一答案
首先,得到爸爸的长度。并检查何时i = dados_length(最后一个元素)然后跳过您要跳过的代码。
以上是关于在javascript中列出的主要内容,如果未能解决你的问题,请参考以下文章
译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务