换行javascript不会插入新行“\ n”

问题描述 投票:-2回答:1

我一直试图围绕这整个断线的事情,我在这里搜索并研究了我的灵魂。我似乎无法在这里找到我的具体问题的答案。我想从textarea获取输入并将其放入带有新行的数组中。它所做的只是在单词之间加一个逗号,而且它似乎只添加多个逗号来表示换行符所在的位置。当我添加<br />时,它只是从文本中排除字母b。

function Wordscount() {
                var pText = document.getElementById("myTextarea").value.split(/[\n <>.,\?]/);
                document.getElementById("text").innerHTML = pText;

当我测试它时,它基本上看起来像这样:

我是Javascript的新手,除非这是我们教授告诉我们使用的方法,否则我不会选择这个解决方案。我在这里真的很沮丧,而我只是想弄清楚这一点。

javascript html arrays textarea
1个回答
2
投票

拆分字符串会将其转换为数组。将数组作为字符串处理等同于调用yourArray.join(',')。由于您不想添加逗号,因此不要仅将数组视为字符串。

如果要将HTML换行符放入,则需要明确地执行此操作。

var array_of_lines = document.getElementById("myTextarea").value.split("\n");
var string_of_html = array_of_lines.join("<br>");
document.getElementById("text").innerHTML = string_of_html;

如果您不希望将HTML特殊字符视为具有特殊含义,则将每行转换为文本节点并将其追加。

var array_of_lines = document.getElementById("myTextarea").value.split("\n");
document.getElementById("text").innerHTML = "";
while(var text = array_of_lines.unshift()) {
    document.getElementById("text").appendChild(
        document.createTextNode(text)
    );
    document.getElementById("text").appendChild(
        document.createElement("br")
    );
}
© www.soinside.com 2019 - 2024. All rights reserved.