javascript - 每次循环打印一个数字
问题描述
我正在玩一些 HTML 和 Javascript。按下网页上的按钮后,我试图在屏幕上打印 100 个数字。我可以将数字打印在屏幕上,但是当我想用“Apple”之类的字符串替换数字时,如果该数字可以被 5 整除。代码如下:
function testFunction() {
var wrapper = document.getElementById("Test");
var myHTML = '';
for (var i = -1; i < 20; i++) {
if (i % 5 == 0 && i % 3 == 0) {
myHTML += '<span class="test">Pineapple</span><br/>';
} else if (i % 5 == 0) {
myHTML += '<span class="test">Apple</span><br/>';
} else if (i % 3 == 0) {
myHTML += '<span class="test">Pine</span><br/>';
} else {
myHTML += '<span class="test">' + (i + 1) + '</span><br/>';
}
}
wrapper.innerHTML = myHTML
}
输出总是关闭一个元素,因此它将打印“5”,然后下一行将是“Apple”,而不是用“Apple”替换“5”,然后打印“6”
这是输出:
0
Pineapple
2
3
Pine
5
Apple
Pine
8
9
Pine
Apple
12
Pine
14
15
Pineapple
17
18
Pine
20
解决方案
您正在打印 i+1,而不是 i。
var wrapper = document.getElementById("Test");
var myHTML = '';
for (var i = -1; i < 20; i++) {
if (i % 5 == 0 && i % 3 == 0) {
myHTML += '<span class="test">Pineapple</span><br/>';
} else if (i % 5 == 0) {
myHTML += '<span class="test">Apple</span><br/>';
} else if (i % 3 == 0) {
myHTML += '<span class="test">Pine</span><br/>';
} else {
myHTML += '<span class="test">' + (i ) + '</span><br/>';
}
}
wrapper.innerHTML = myHTML
}
推荐阅读
- soap - 使用 node-soap 发送带有 XML 和 WS-security 的 SOAP 请求?
- python - 属性“运行”已经在主文件中
- html - 样式化相对于兄弟元素的相对位置
- python - Django 2 函数调用 - 2 个不同的结果
- spring-data-jpa - 如何编写规范以急切地获取惰性多对多关系?
- node.js - 社交和本地认证 + 节点 js + react native + 身份服务器
- spring - 在批处理模式下使用 Spring Cloud Stream 发送到 DLQ 失败
- cypress - 检查元素中的数字是否为日期
- kubernetes - 使用 jsonpath 从配置映射中检索信息
- keycloak - Keycloak 跨域代币兑换