javascript - 从服务器接收的 jQuery 数据不使用 append() 保持原始格式
问题描述
我正在从服务器接收数据并将其显示给用户。我最初使用 a 显示数据textarea
并且所有格式都是正确的(换行符、制表符...等)。
html:
<textarea id="textArea" class="textArea" readonly></textarea>
js:
//data stream received from server
...
data = xhr.responseText;
$( ".textArea" ).val( data );
以上工作正常,但是,现在我想切换textarea
到 a div
(添加样式并能够稍后打印 div ......),但是在我切换后从服务器接收到的所有格式都消失了,所有数据当我使用附加时,显示在整个 blob 中:
html:
<div id="textArea" class="textArea"></div>
js:
//data stream received from server
...
data = xhr.responseText;
$(".textArea").append(data);
将数据附加到时如何保持源格式div
?
解决方案
您真正要寻找的是一种使 adiv
行为类似于 a 的方法textarea
,因为 atextarea
以固定宽度的字体呈现文本并记住空格。
.textarea {
border: 1px solid gray;
font-family: monospace;
height: 200px;
overflow: auto;
padding: 2px;
resize: both;
width: 400px;
white-space: pre;
}
https://jsfiddle.net/AnonymousSB/hkfy14es/
注意:与 a 不同textarea
,您必须将第一行文本与开始div
元素保持在同一行,以防止顶部出现间隙,因为white-space: pre;
它会呈现所有空白。
推荐阅读
- python - 我想在 Python 中单击 Selenium 中的下载按钮
- swift - 为什么我的表格视图不显示任何内容。它具有正确的行数,但没有文本。数据已填充到不同的视图控制器(xcode
- r - 作为函数参数传递时对 data.table 的更新
- arrays - 在 Mongoose 中的另一个数组的对象中查找数组中的字段
- css - css表单元素对齐问题
- python - 使用侦听器事件在同一个 cog 中调用函数,使用 discord.py
- c# - Chrome Devtools 协议和发布
- java - 如何在 JavaFX 聊天应用程序中同步模型和视图模型
- c# - 'Transform.Rotate(Vector3, Space)' 是一种方法,在给定的上下文中无效
- sql - PostgreSQL 中 JSON 数组的复杂查询