2012-04-18 39 views
2

使用這個去除我的newLine字符Javascript - document.createTextNode()

是否有替代這將呈現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); 


     } 

這是林concered有:

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

yup,使用jQuery確實讓這一切變得更容易... – Alnitak 2012-04-18 20:52:37

回答

8

換行符只顯著(據我所知)在<pre>區塊內。那

之外,迫使換行符你要你的字符串分割成單獨的線,然後創建一個文本節點後面是<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')); 
} 

http://jsfiddle.net/alnitak/WFTD6/

+0

該死的............. – 2012-04-18 15:39:27

+0

@DocHoliday nah,很簡單;-) – Alnitak 2012-04-18 15:47:54

+0

好的..我即將展示你我的JavaScript和顯示在哪裏創建節點....即時通訊在'評論'其中有HTML和它轉動g以明文形式 – 2012-04-18 15:49:33