Javascript text区域到变量:间距

Javascript text区域到变量:间距,javascript,html,Javascript,Html,我获取文本区域的内容并将其保存在变量中。但我注意到,当我保存内容时,变量会忽略间距(新行)。我该如何解决这个问题。我希望变量存储文本的结构,以及所有新行和制表符。我保存文本区内容的代码如下: let content = document.getElementById('content').value function mail(){ var options = document.getElementById('users').options let content = docu

我获取文本区域的内容并将其保存在变量中。但我注意到,当我保存内容时,变量会忽略间距(新行)。我该如何解决这个问题。我希望变量存储文本的结构,以及所有新行和制表符。我保存文本区内容的代码如下:

let content = document.getElementById('content').value
function mail(){
    var options = document.getElementById('users').options
    let content = document.getElementById('content').value
    var emails = []
    var regex = /\*user\*/gi
    for(var i = 2; i < options.length; i++){
        emails.push(options[i].innerHTML)
        content = content.replace(regex, emails[i-2])
        window.open(`mailto:${emails[i-2]}?subject=To ${emails[i-2]}&body=${content}`)
    }     
}
let content = "<pre>"+document.getElementById('content').value+"</pre>"
整个功能如下:

let content = document.getElementById('content').value
function mail(){
    var options = document.getElementById('users').options
    let content = document.getElementById('content').value
    var emails = []
    var regex = /\*user\*/gi
    for(var i = 2; i < options.length; i++){
        emails.push(options[i].innerHTML)
        content = content.replace(regex, emails[i-2])
        window.open(`mailto:${emails[i-2]}?subject=To ${emails[i-2]}&body=${content}`)
    }     
}
let content = "<pre>"+document.getElementById('content').value+"</pre>"
功能邮件(){
var options=document.getElementById('users').options
让content=document.getElementById('content').value
var电子邮件=[]
var regex=/\*用户\*/gi
对于(变量i=2;i

谢谢!!!感谢您的帮助

如果在文本区域中输入新行,则该变量确实包含新行。请记住,textarea将包装文本以适应它,因此,如果您看到包装文本,这并不意味着文本中有新行字符

<textarea id="content"></textarea>
<input type="button" value="submit" onclick="msg()">

<script>
function msg() {
    let message = document.getElementById('content').value;
    alert(message);
}
</script>

函数msg(){
让message=document.getElementById('content').value;
警报(信息);
}

实际上,空格和
新行
是存在的,但因为您将
内容
放在
html
body{}
)中,它们是不可见的

一些解决方案:

 let content = document.getElementById('content').value.replace(/\n/g,"<br/>").replace(/ ( +)/g,function(a,b){var s="", i=0; for(;i<b.length;i++)s+="&nbsp;"; return " "+s;});

事实上,
JavaScript
确实从textarea(包括换行符)获取了所有的值,但这是一个
CSS
问题,如果你只做一个简单的测试,将从
textarea
检索到的值放入一个
pre
标记或一个
div
标记,例如带有
空白:pre规则,您将看到与文本区域相同的内容。它不起作用。它不会添加新行。它添加了“
”其他两个根本不起作用!