innerHTML不尊重缩进

Mas*_*iar 0 javascript indentation

我在客户端有一个代码,它通过带有node.js后端的socket.io接收一些数据.我收到一些缩进数据(这是一些字符串格式的代码).我可以提醒代码,我看到它在警报中缩进,但是当我document.getElementById('myDiv').innerHTML = receivedData.indentedData输出时输出的数据myDiv不是缩进的,而只是在一行中.

在填充HTML元素时,您是否知道在某些字符串中使用缩进的方法?

为了更准确,我以这种形式提醒数据:

class Motto {
  public static void main(String[] args) {
    System.out.println("Java rules!");
  }
}
Run Code Online (Sandbox Code Playgroud)

但我所看到的myDiv是:

class Motto { public static void main(String[] args) { System.out.println("Java rules!"); } }
Run Code Online (Sandbox Code Playgroud)

谢谢

Ric*_*uen 5

大多数情况下,输出这样的代码,你会想要包装它<pre><code>标签.

document.getElementById('myDiv').innerHTML = "<pre><code>"+receivedData.indentedData+"</code></pre>";
Run Code Online (Sandbox Code Playgroud)

这就是StackOverflow标记编辑器为代码片段所做的工作.