Formatting 保留从$.get jquery调用返回的文本的空白和格式

Formatting 保留从$.get jquery调用返回的文本的空白和格式,formatting,jquery,Formatting,Jquery,我的应用程序中有一个jquery$.get()调用,它请求整个网页。在回调函数中,我访问返回页面中的一个div,获取它的数据并将其显示在我的页面上 问题是我从div中获取的文本没有保留源格式。如果请求页面中的div表示一个有序列表,那么当我得到该文本并显示在页面上时,它将显示为一个段落,其中包含内联项,而不是显示为列表 我不知道问题是$.get()是如何获取数据的,还是在显示数据时 //get the page $.get($(this).attr('href'), functi

我的应用程序中有一个jquery$.get()调用,它请求整个网页。在回调函数中,我访问返回页面中的一个div,获取它的数据并将其显示在我的页面上

问题是我从div中获取的文本没有保留源格式。如果请求页面中的div表示一个有序列表,那么当我得到该文本并显示在页面上时,它将显示为一个段落,其中包含内联项,而不是显示为列表

我不知道问题是$.get()是如何获取数据的,还是在显示数据时

//get the page
        $.get($(this).attr('href'), function(data){
                callbackFunc(data,myLink);
            }, 
            "html");

  function callbackFunc(responseText, customData){

        //response has bg color of #DFDFDF
        var td = $("td[bgcolor='#DFDFDF']", responseText);

        //text to show is in div of that td
        var forumText = $('div', td).text();

        //append new row with request data below the current row in my table
        var currentRow = $(customData).parent('td').parent('tr');
        var toAppend = "<tr><td class='myTd' colspan='3'>" + forumText + "</td></tr>";

        $(currentRow).after(toAppend);
}
//获取页面
$.get($(this.attr('href'),函数(数据){
callbackFunc(数据,myLink);
}, 
“html”);
函数callbackFunc(responseText,customData){
//响应的背景颜色为#DFDFDF
var td=$(“td[bgcolor='#DFDFDF']”,responseText);
//要显示的文本位于该td的div中
var-forumText=$('div',td).text();
//在“我的表”中的当前行下方追加具有请求数据的新行
var currentRow=$(customData).parent('td').parent('tr');
var toAppend=“+forumText+”;
$(当前行).after(toAppend);
}
在我添加到div的新行中,响应数据显示为ABC,而源页面div显示为
A
B
C


我应该补充一点,这个脚本是Google Chrome扩展的一部分,所以这是我唯一测试过的浏览器

尝试使用.html而不是.text:

var forumText = $('div', td).html();

我偶然发现了这个线程,因为我也需要保留格式。但是,使用.html()而不是.text()不是一个选项,因为有人可能以这种方式注入JavaScript攻击。我找到了我一直在寻找的解决方案

例如,更改代码中的以下行以保留空白,同时仍使用.text()使用空白CSS样式:

var toAppend = '<tr><td class="myTd" colspan="3" style="white-space: pre-line;">' 
+ forumText + "</td></tr>";
var toAppend=''
+forumText+“”;