2016-03-28 135 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