这可能看起来很奇怪。我有一个 id 为 'quotes' 的 div,里面有一个块引用。如果引用的文本是诗歌,我认为添加换行符会很有趣,并且我认为您可以使用“@”作为条件换行符,然后将其替换为 br 元素,如下所示:
function addBr() {
var c = document.getElementById("quotes");
var t = c.getElementsByTagName("blockquote");
var reg = new RegExp("@", "g");
for (var i = 0; i < t.length; i++) {
var r = t[i].lastChild.nodeValue.match(reg);
if (r !== null) {
var text = t[i].childNodes[0];
var q = t[i].lastChild.nodeValue.indexOf("@");
var x = document.createElement("br");
t[i].insertBefore(x, text.splitText(q));
t[i].lastChild.nodeValue = t[i].lastChild.nodeValue.replace(/\@/g, "");
}
}
}
这有效,但仅适用于第一个实例,所以我需要一个循环,但我无法弄清楚。div 应该是这样的:
<div id = 'quotes'>
<blockquote> Some line, @ Some line, @ Some line@ </blockquote>
</div>
任何提示将不胜感激。