javascript - 在 for 循环中添加 onClick 事件
问题描述
我是 Javascript 的初学者。我想要做的是当用户点击“点击开始循环”时,第一次<li>
将是 1。用户第二次点击它,它将是 2,第三次,它将是 3。第三次单击,循环将中断。
我的代码的问题是它总是显示数字 3,而不是从 1 开始一直到 3。
function myFunction() {
demo = document.getElementById("demo")
ul = document.createElement("ul")
demo.appendChild(ul)
li = document.createElement("li")
ul.appendChild(li)
for (let i = 1; i <= 3; i++){
li.innerText = i
}
}
<p id="demo" onclick="myFunction()">Click to start loop</p>
解决方案
一种解决方案可能是创建一个初始值设置为 1 的全局变量,并在每次点击您的<p>
标签时增加它。
我已经使用全局变量实现了相同的功能counter
。
<p id="demo" onclick="myFunction()">Click to start loop</p>
<script>
var counter = 1;
function myFunction() {
if(counter === 4){
return;
}
demo = document.getElementById("demo");
ul = document.createElement("ul");
demo.appendChild(ul);
li = document.createElement("li");
ul.appendChild(li);
li.innerText = counter;
counter++;
}
</script>
推荐阅读
- javascript - 请求流不会在异常 Nodejs 上继续
- redux - 调用 saga 的生成器将进入无限循环
- php - 隐藏数组的空值
- flutter - Flutter 底部导航栏标题颜色
- excel - 将工作表 1 的最后一个单元格地址粘贴到工作表 2 中
- php - 使用空和 strcmp 比较 2 个字符串
- r - 从 for 循环运行或在 .Rmd R 笔记本中运行时,R system() 调用不起作用
- csv - GeoServer - Java 错误:尝试使用 CSV 数据存储创建图层时发生 java.io.FileNotFoundException
- xamarin.forms - 防止应用启动多个实例 Xamarin Forms Cross Platform
- java - AutoCompleteTextView 项目选择触发事件