javascript - 每个输入字母在单独的行中返回

标签 javascript loops while-loop

如标题所示,我希望使用 while 循环将每个输入到输入字段中的字母显示在新的一行上。例如,如果有人在输入框中输入“cat”,将返回:

c

一个

这是我目前所拥有的,但目前它只显示第一个字母。

 var input = document.getElementById('userinput').value;
  var i  = input.length;
  while (i--) {
    document.getElementById('message').innerHTML = (input[i]);
  }

最佳答案

行:

document.getElementById('message').innerHTML = (input[i]);

正在完全覆盖 #message 的 HTML元素,所以它只会有最后一次迭代的值。相反,你会想要做的:

document.getElementById('message').innerHTML += (input[i]) + "<br />";

随着 <br />移动到一个新的行。要以自上而下的方式使用它,您可能需要使用普通的 for 循环:

for(var i = 0; i < input.length; i++)
    document.getElementById('message').innerHTML += input[i] + "<br />";

下面是一个基本的代码片段示例(按下回车键或取消聚焦将触发事件):

document.getElementById('text').addEventListener("change", function(){
  document.getElementById('message').innerHTML = "";
  input = document.getElementById('text').value;
  for(var i = 0; i < input.length; i++)
      document.getElementById('message').innerHTML += input[i] + "<br />";
});
<input id="text" type="text" />
<div id="message"></div>

关于javascript - 每个输入字母在单独的行中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43508561/

相关文章:

javascript - 字符串比较 "="!= "+",结果不正确

mysql - 迭代内的数字总和 - Rails

python - 在 Python 3.4 中按 Enter 退出 While 循环

java - 将 do-while 循环中和外部的变量声明为随机数

Javascript:将变量从客户端发送到 express.js

javascript - 如何使用 gatsby-image 在不裁剪的情况下显示图像?

javascript - KendoUI Tabstrib 在所有选项卡上选择第一个选项卡

php - 通过foreach循环显示mysql的第二个值

javascript - 当我达到数字的倍数时在 JavaScript 循环中添加新行

c++ - 开关内的循环变得无限