我们说我有一大段文字,我已经粘贴到我的网页上,内容为id&#34; story&#34;。每个段落实际上都在html文件中的一行上,每个段落由一行分隔。我想使用bootstrap使文本墙更具可读性。我已经在博客中设置了css格式,有没有办法在每个段落间隔动态添加</p><p>
?
答案 0 :(得分:1)
var paragraphs = "your text".split(/\n\s*\n/);//since paragraphs are separated by
for(var i = 0; i < paragraphs.length; i++){ //a line, we need two \n here.
var p = document.createElement("p");
p.innerHTML = paragraphs[i].trim();
document.querySelector("#story").appendChild(p);
}
//==============
//To get the text of an element (with new lines), you can do this:
document.querySelector("#story").childNodes[0].wholeText;
也许是这样的? http://jsfiddle.net/DerekL/qv2GZ/
你不应该做的是替换字符串中的文本并将其直接转储到DOM中。这是不好的做法。这就是为什么我在这里创建p
元素而不是用</p><p>
替换行。
答案 1 :(得分:0)
我认为你应该看看这里: How do I replace all line breaks in a string with <br /> tags?
在这里:How to replace all occurrences of a string in JavaScript?
请记住,新行只是\ n。那么这是一个简单的字符串替换问题。有一个关于它的大量研究,问题是可能重复,所以我认为这足以回答:)。
祝你好运!