小编use*_*489的帖子

如何将新行/回车符插入element.textContent?

虽然听起来很傻,但我还是没有找到合适的答案.

假设我想动态创建一个新的DOM元素,并用JS字符串文字填充其textContent/innerText.
字符串太长了我想把它分成三个块:

var h1 = document.createElement("h1");

h1.textContent = "This is a very long string and I would like to insert a carriage return HERE...
moreover, I would like to insert another carriage return HERE... 
so this text will display in a new line";
Run Code Online (Sandbox Code Playgroud)

问题是,如果我写

h1.textContent = "...I would like to insert a carriage return here... \n";
Run Code Online (Sandbox Code Playgroud)

它不起作用,可能是因为浏览器认为'\n'是纯文本并且显示为纯文本(\ r \n也不起作用).

另一方面,我可以更改h1.innerHTML而不是textContent并写入:

h1.innerHTML = "...I would like to insert a carriage return here...<br />";
Run Code Online (Sandbox Code Playgroud)

这里<br />会完成这项工作,但这样做不仅会取代文本内容,还会取代我h1的所有HTML内容,这不是我想要的.

有没有一种简单的方法来解决我的问题?
我不打算创建多个块元素只是为了让文本在不同的行上.
任何想法将不胜感激.
提前致谢.

javascript string escaping carriage-return

55
推荐指数
6
解决办法
19万
查看次数

标签 统计

carriage-return ×1

escaping ×1

javascript ×1

string ×1