如何在.innerHTML(for-loop)中迭代字符串的每个字符?

Posted

技术标签:

【中文标题】如何在.innerHTML(for-loop)中迭代字符串的每个字符?【英文标题】:How to iterate each character of a string in .innerHTML (for-loop)? 【发布时间】:2019-08-09 21:59:29 【问题描述】:

嗨,假设我有以下代码:

var information_paragraph = document.getElementById(myDivElement);
var infoText = "Hello World!";
information_paragraph.innerhtml = infoText;

因此,我没有添加整个字符串“Hello World!”,而是考虑是否可以一次添加该字符串的一个字符。如何访问字符串的字符并创建一个for循环在innerHTML中添加内容而不是替换它?

【问题讨论】:

How can I process each letter of text using javascript? 和 Appending using native javascript 的可能重复 for(var char of text)? 【参考方案1】:

将字符串转换为数组并迭代?

document.getElementById('block').innerHTML.split('').forEach(function(i)
  console.log(i);
);
<div id="block">Text</div>

【讨论】:

@nickzoum 有很多变体可以做到这一点,它就是其中之一 你似乎没有完全回答这个问题:如何访问字符串的字符并创建一个for循环来在innerHTML中添加内容而不是替换它 【参考方案2】:

我认为你想要的是将字符串用作数组并将其附加到内部 html 如果你把它全部放在一个理智的行中删除"</br>"+

var information_paragraph = document.getElementById("myDivElement");
var infoText = "Hello World!";
for(i = 0; i < infoText.length; i++)
information_paragraph.innerHTML += "<br/>"+infoText[i];
<div id="myDivElement">
</div>

【讨论】:

&lt;/br&gt; 不是有效标签 - 如果您要自行关闭它,您需要将斜线放在另一边 &lt;br/&gt; 但 html 5 根本不需要斜线 @Pete 更正它的错字我会改变它。谢谢【参考方案3】:

我认为这可行

const  information_paragraph = 
document.getElementById('myDivElement');
let  infoText = "Hello World!"; 
let infoTextLetters ;
for(i in infoText)
  infoTextLetters +=  `
   <br> $infoText[i] ` ;

information_paragraph.innerHTML = infoTextLetters

【讨论】:

以上是关于如何在.innerHTML(for-loop)中迭代字符串的每个字符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .bat for-loop 中使用字符串变量? [关闭]

如何使用 For-loop 和 Tell 函数填充每行的起始位置列表?

HTTP/2:stream.end 使用 For-Loop

如何设计神经网络的行为像For-Loop?

如何使用 javascript for-loop 和 if-statement 在右表中显示数据?

如何使用 for-loop if 语句填充具有唯一随机数的数组?