使用此功能剥离我的newLine字符
是否有替代方法可以呈现html?
function viewCommentToggle( comment )
{
theRow = document.getElementById("id"+comment.id);
idx = 2;
// Comment field
cell = theRow.cells[idx];
while( cell.childNodes.length > 0 ) cell.removeChild(cell.childNodes[0]);
element = document.createTextNode(comment.comment);
cell.appendChild(element);
}
这就是我所怀疑的:
element = document.createTextNode(comment.comment);
只是一个假... ....这就是我所做的并且有效:
function viewCommentToggle( comment )
{
theRow = document.getElementById("id"+comment.id);
idx = 2;
// Comment field
//cell = theRow.cells[idx];
// while( cell.childNodes.length > 0 ) cell.removeChild(cell.childNodes[0]);
cell = $("#id"+comment.id+" > td:eq("+idx+")");
$(cell).empty();
$(cell).html( comment.comment == null ? "" : comment.comment.replace(/\n/g,"<br/>").replace(/\r/g,"") );
答案 0 :(得分:8)
新行仅在<pre>
块内显着(AFAIK)。
除此之外,要强制换行,您必须将字符串拆分为单独的行,然后为每个字符串创建一个文本节点,后面跟<br/>
,例如:
var lines = text.split('\n');
var parent = document.body; // the node you want to insert the string into
for (var i = 0; i < lines.length; ++i) {
parent.appendChild(document.createTextNode(lines[i]));
parent.appendChild(document.createElement('br'));
}