大段包含"\n"的文字附在DOM上再由Javascript获取这段文字时为何会多出空格?

新手上路,请多包涵

实际场景是这样的:

在数据库中有一段原生markdown文字,在渲染页面的时候附在了一个dom上面:

<initData data-content="#{document.raw_content}">

这里的数据包括形如:

 "# 序言\n\n一个幽灵,共产主义的幽灵,在欧洲游荡..."

然后用Javascript去取得这个document.raw_content,就变成了:

"# 序言
      
      一个幽灵,共产主义的幽灵,在欧洲游荡... 
"

多了四个空格……
求解为什么会出现这样的情况……

阅读 4k
2 个回答

不知为何会多出几个空格,因为从来没有这么使用过,在我的开发经验中是不允许这样带入大段字符的,存在太多导致问题的因素了。
建议使用DOM不解析的标签包裹,如<pre> <textarea> <script type="xxx">等形式的都可以

\n\n被解析为换行符了,可以用textContent,而不是innerHTML,它对HTML标签是剔除不是解析

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题