javascript - 如何将 JavaScript 循环输出到页面上(而不是在控制台中)?
问题描述
我是编程新手,正在尝试自己的 FizzBuzz 挑战,具体如下:
“编写一个程序,打印从 1 到 100 的数字。但是对于三的倍数打印“Fizz”而不是数字,对于五的倍数打印“Buzz”。对于同时是三和五的倍数的数字,打印“FizzBuzz” ”。”
我是在 Javascript 和 jQuery 中做的,我可以让它在控制台中打印,但我如何修改它以便它实际打印到页面本身上?比如可能使用 HTML 来帮助输出列表/数组或其他东西,这样你就可以看到控制台、页面上的内容,如果我说得通的话?
目前我已经通过这样做在控制台中工作:
for (var i=1; i < 101; i++){
if (i % 15 == 0) console.log("FizzBuzz");
else if (i % 3 == 0) console.log("Fizz");
else if (i % 5 == 0) console.log("Buzz");
else console.log(i);
}
然后我把它改成这样:
<p id="fizzbuzz"></p>
for (var i=1; i < 101; i++){
if (i % 15 == 0) {
$('#fizzbuzz').html("FizzBuzz");
}
else if (i % 3 == 0) {
$('#fizzbuzz').html("Fizz");
}
else if (i % 5 == 0) {
$('#fizzbuzz').html("Buzz");
}
else console.log(i);
}
但这显然只是打印出一行,因为它正在替换'fizzbuzz'
ID 中的文本,而不是创建循环输出列表。
任何人都可以帮助我吗?对不起,我是菜鸟,我正在努力学习。
谢谢。
解决方案
使用.append()
而不是.html()
为了插入指定的内容作为选定元素的最后一个子元素
for (var i=1; i < 101; i++){
if (i % 15 == 0) {
$('#fizzbuzz').append("FizzBuzz<br/>");
}
else if (i % 3 == 0) {
$('#fizzbuzz').append("Fizz<br/>");
}
else if (i % 5 == 0) {
$('#fizzbuzz').append("Buzz<br/>");
}
else console.log(i);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="fizzbuzz"></p>
推荐阅读
- c++ - 优化游戏角度检查中的距离
- angular - Angular 12 应用程序中的 NgModel 和管道不存在属性
- reactjs - 从 react-select 传递状态
- python - python问题类返回对象和存储列表
- r - 哪些文档在过滤的元数据中
- github - 无论如何可以在类似于图像的 github 自述文件中查看 STL 文件?
- filter - 使用 Dax 的多重过滤器
- ubuntu - 在 neovim 中运行 win32yank 时出错,参数 cmd 的值无效:win32yank.exe
- excel - MS Flow Excel 业务删除行错误 409
- azure-machine-learning-studio - 尝试在 kubernettes 上部署机器学习模型,因 ModuleNotFoundError 失败:没有名为“Cython”或“setuptools_rust”的模块