小提琴這裏 - http://jsfiddle.net/kQ3eJ/3/如何讓JS使用的innerHTML
var string = "This is a & string that has \n new lines in it\u0027s body";
//does not do the newline or unicode
document.getElementById("insertJavascript").innerHTML = string;
//does do the newline and unicode
document.getElementById("insertJavascriptWithPre").innerHTML = '<pre>' + string + '</pre>';
//but if i get the string from the HTML to begin with it doesn't work
var htmlString = document.getElementById("htmlWithNewline").textContent;
document.getElementById("insertJsHtmlWithNewline").textContent = htmlString;
基本的網頁有一個元素我想格式化這個它的innerHTML中有換行符(數據來自一個JSON) 數據在前端更清晰
正如您在小提琴中看到的那樣 - 在javascript工作中輸入換行符(\ n),但是如果換行符是來自innerHTML的字符串的一部分,沒有正確格式化。
有沒有辦法在字符串中「撤銷」換行符?
好了,所以我試圖字符串替換「\ n」和「\ n」和「\ r」和「\ r」和這似乎已經奏效
var what = htmlString.replace('\\n','\n');
// what = what.replace('\\u','\u');
what = what.replace('\\r','\r');
document.getElementById("a").innerHTML = '<pre>' + what + '</pre>';
,但它的失敗上的Unicode替換 - 我可能必須將整個unicode塊替換爲一個?
在簡單的話,你想休息一下標籤,以取代換行符 – adeneo
不,這不是我想做的事,如果你看了小提琴,你會看到我想這是a
– wyu