2016-03-28 141 views
1

我有一個大的模板的JS文件(使用ES6標準)看起來類似於文字:多行模板字符串轉換爲HTML不包括換行符

let stringLiteral = `this is a large 
        string and it also 
        has many lines in it 

        and this is a larger line break` 

,並把它放在我的HTML文件,我只是使用:

document.getElementById('content').innerHTML = stringLiteral; 

但是,當我這樣做時,換行符不包含在HTML中。我需要做些什麼才能做到這一點?

+3

'white-space:pre;'? – elclanrs

+0

@elcanrs啊真棒,謝謝! '白色空間:預包裝;'是我所需要的。 :) –

+1

'stringLiteral.replace(/ \ n/g,'
')'? – loganfsmyth

回答

2

默認情況下文本節點中的空白處於摺疊狀態。對於換行符使用<br /><br>,或者將white-space: pre;添加到該元素的css中。

+0

說「使用'.innerHTML'時忽略新行」有點簡單。我想你想說的是「文本節點中的空白默認被摺疊」。 – 2016-03-28 03:40:23

+0

@torazaburo謝謝 – 2016-03-28 11:57:03

+0

或只是'
' - XML-ish html/xhtml的時代已經結束了;) – ThiefMaster