Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-附加文本和html片段_Javascript_Jquery_Html_Append - Fatal编程技术网

Javascript-附加文本和html片段

Javascript-附加文本和html片段,javascript,jquery,html,append,Javascript,Jquery,Html,Append,我正试图建立一个网页,有一个终端外观的文本似乎正在键入 为此,我将一个.txt文件内容加载到一个字符串变量中,设置一个speed int,它将定义一次读取多少个字符,然后在一个setInterval内调用write函数。在write函数中,我使用$console.appendtext.substringindex,index+speed选择要写入的文本位;然后以指数+=速度递增 然而,.txt内容有纯文本和Html标记来格式化文本,当这些内容被输入浏览器时,Html标记显示不正确。例如,我的tx

我正试图建立一个网页,有一个终端外观的文本似乎正在键入

为此,我将一个.txt文件内容加载到一个字符串变量中,设置一个speed int,它将定义一次读取多少个字符,然后在一个setInterval内调用write函数。在write函数中,我使用$console.appendtext.substringindex,index+speed选择要写入的文本位;然后以指数+=速度递增

然而,.txt内容有纯文本和Html标记来格式化文本,当这些内容被输入浏览器时,Html标记显示不正确。例如,我的txt上的一段文字看起来像是一个测试,它将显示为>这是一个测试!这不仅仅是一个测试

如果我使用.htmlstr并将子字符串作为.substring0传递,索引内容将正确键入,但这对我不起作用,因为我希望将多个.txt加载到同一页面中,.html只替换整个内容

我知道这有点让人困惑,也很难解释,所以请随便问你不懂的问题。

你可以看一看

这取决于


希望有帮助

您可能需要解码HTML字符串。试试这个:

var decodedString = $("<div />").html(text.substring(index, (index+speed))).html();
$("#console").append(decodedString);
当然,你将不再需要解码任何东西。您可以直接附加这些片段,它将起作用

$("#console").append("<span> Thi</span>");
$("#console").append("<span>s is a tes</span>");
$("#console").append("<span>t </span>");

你能给我看一下这张表格的哪一行吗?这是我做的,第一行。这是一个测试,你能更详细地解释一下它的作用吗?我试过了,但不起作用,结果完全一样。我只是不确定是否需要根据我在txtWell中使用的html标记对其进行调整,您说过使用.html是有效的。但总是取代一切。因此,我建议使用.html,但使用一次性div,然后从该div获取html并将其附加到控制台。我很惊讶这不起作用,看到了吗?您是否确定要提取的值是正确的字符串,而不是类似>这是一个测试?在该示例中,您只需一次添加整个字符串。但是为了得到打字效果,我在30毫秒的间隔内一次添加5个字符的文本。第一块就是Thi,依此类推。。看,那正是你的问题。您必须加载完整的html而不是部分标记。我建议将每个文本块的字符串片段分成单独的跨距。
$("#console").append("<span> Thi</span>");
$("#console").append("<span>s is a tes</span>");
$("#console").append("<span>t </span>");