Javascript 添加<;br>;在字符串中的文本之间

Javascript 添加<;br>;在字符串中的文本之间,javascript,tags,charat,Javascript,Tags,Charat,我有以下功能: var index = 0; var text = 'Hello world!'; function type() { document.getElementById('screen').innerHTML += text.charAt(index); index += 1; var t = setTimeout('type()',200); } 我想知道是否有可能在hello和world之间添加一个br标记 我试着这样说:“你好”+br标签+“世界”;但没用,可能

我有以下功能:

var index = 0;
var text = 'Hello world!';
function type() {
  document.getElementById('screen').innerHTML += text.charAt(index);
  index += 1;
  var t = setTimeout('type()',200);
}
我想知道是否有可能在hello和world之间添加一个br标记

我试着这样说:“你好”+br标签+“世界”;但没用,可能是因为角色扮演

谢谢

一种可能的方法:

var index = 0;
var text = 'Hello world!';
var textLength = text.length;
var elScreen = document.getElementById('screen');
(function type() {
  var charToType = text.charAt(index);
  if (charToType === ' ') {
    charToType = '<br />';
  }
  elScreen.innerHTML += charToType;
  index += 1;
  if (index < textLength) {
    setTimeout(type, 200);
  }
})();
var指数=0;
var text='Hello world!';
var textLength=text.length;
var elScreen=document.getElementById('screen');
(函数类型(){
var charToType=text.charAt(索引);
如果(图表类型==''){
图表类型='
'; } elScreen.innerHTML+=图表类型; 指数+=1; 如果(索引<文本长度){ 设置超时(类型,200); } })();
。关键思想非常简单:当下一个要处理的字符是空白时,它将被替换为

请注意此处的两个其他更改:

  • 可以使用函数引用(而不是字符串)作为setTimeout第一个参数。事实上,人们应该这样使用它

  • 除非有非常大的理由这样做,否则当字符串结束时,应该停止“键入”该字符串-因此进行
    索引
    检查


如果我想要一个更大的字符串,它会在每个空格中添加一个br标记。有什么办法可以改变吗?谢谢,在这种情况下你有不同的策略。您可以在

插入某些特殊字符的位置(保证通常不在字符串中,如中)或在原始字符串中插入

,并处理任何