5

我有一个脚本,在某个时候我通过 Ajax 调用获取 HTML(数据)。我必须将此 HTML 转换为纯文本,如下所示:

$("#div").text(data);

我现在想扭转这种局面并再次制作文本 HTML。我有一个简单的 Jquery 方法来做到这一点吗?我试过了:

$("#div").text(data).end().html();

没运气。

4

5 回答 5

10

您需要保留原始响应才能执行此操作...

$("#hiddendiv").html(data);
$("#div").text(data);

然后你可以把它拿回来...

var html = $("#hiddendiv").html();

根据评论更新...

您可以在显示之前删除该元素...

var html = $(data);
$('#cookiediv', html).hide();
$('#div').html(html);

cookie 消息所在的id="cookiediv"位置 - 您可能需要调整选择器以获取此 div,但几乎可以肯定可以抓取它。

于 2013-02-06T21:56:38.527 回答
4

您在问题中使用的 html 函数也可以带参数。在这里阅读所有相关信息:http: //api.jquery.com/html

基本上你需要做的就是

var div = $(yourdiv);
div.html(div.text())

例如在这个例子中:http: //jsfiddle.net/273Jx/

于 2013-02-06T21:55:44.873 回答
3
$.fn.toHtml=function(){
   return $(this).html($(this).text())
}

然后

$('#div').toHtml()

http://jsfiddle.net/abdennour/fcn9d/

于 2014-01-23T16:10:35.053 回答
2

如果您的意思是获取文本并使其工作为 HTML。工作演示

<div id="div"></div>

jQuery:

var data='<a href="blah">blah</a>';
$('#div').text(data);
alert('ready...'); // just making you see the html
$('#div').html($('#div').text()); 
于 2013-02-06T22:01:15.657 回答
1

尝试将其直接传递给 jQuery 本身(http://api.jquery.com/jQuery/#jQuery2)。它将获取原始 HTML 字符串并尝试将其解析为新的 DOM 片段。

于 2013-02-06T21:56:18.240 回答