我一直在试图围绕这整个断线的事情,我在这里搜索并研究了我的灵魂。我似乎无法在这里找到我的具体问题的答案。我想从textarea获取输入并将其放入带有新行的数组中。它所做的只是在单词之间加一个逗号,而且它似乎只添加多个逗号来表示换行符所在的位置。当我添加< br />,它只是从文本中排除字母b。
function Wordscount() {
var pText = document.getElementById("myTextarea").value.split(/[\n <>.,\?]/);
document.getElementById("text").innerHTML = pText;
当我测试时它基本上就是这样:
我是Javascript的新手,除非这是我们教授告诉我们使用的方法,否则我不会选择这个解决方案。我在这里真的很沮丧,而我只是想弄清楚这一点。
答案 0 :(得分: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")
);
}