如何使用js在下载的文本文件中添加换行符

Cod*_*Man 2 html javascript jquery

我试图以文本格式下载div内容.

我能够以txt格式下载div内容,但所有内容都是同一行.

我需要在每个元素中添加换行符.

function download() {
        var a = document.body.appendChild(
            document.createElement("a")
        );
        a.download = "export.txt";
        a.href = "data:text/html," + document.getElementById("show-data").innerHTML;
        a.click();
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="show-data">
<p>one</p>
<p>two</p>
<p>Three</p>
</div>
<button onClick="download()">Download</button>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/1L2vmdhu/

Ven*_*ham 7

请尝试使用下面的示例,因为您要以url的形式传递数据,您必须编码新行字符,这将使其工作,另一件事是您尝试下载为文本,因此将内容类型更改为"text/plain"

 function download() {
        var a = document.body.appendChild(
            document.createElement("a")
        );
        var textToWrite = document.getElementById("show-data").innerText;
        a.download = "export.txt"; 
        textToWrite = textToWrite.replace(/\n/g, "%0D%0A"); 
        a.href = "data:text/plain," + textToWrite;
        a.click();
    }
Run Code Online (Sandbox Code Playgroud)
  <div id="show-data">
<p>one</p>
<p>two</p>
<p>Three</p>
</div>
    <button onClick="download()">Download</button>
Run Code Online (Sandbox Code Playgroud)