0

我正在$(selector).html();使用此操作获取 DOM HTML 并将其转换为文本$(selector).empty().text($(selector).html());

我的问题是text();将html转换为没有任何格式的纯文本,是否可以将文本格式化为dom中的样子?

我将所有内容都插入到 pre 元素中,因此 html() 使其认为它应该像处理任何其他 html 标签一样处理它。

像这样:

在此处输入图像描述

(没有箭头隐藏功能)

4

2 回答 2

0

如果您只想让 DOM 远离$(selector).html(),那么您可以.html代替.text

$(selector).empty().html($(selector).html());

如果您只想保留某些标签,那么您可以使用这个替换代码(从这里)去除所有标签,除了替换方法中的标签:

rawHTML = $(selector).html().replace(/<\/?[br|li|ol|ul]+\/?>/igm,'');
$(selector).empty().html(rawHTML);
于 2013-10-16T18:01:26.220 回答
0

如果您希望文本保持 html 的格式,您可以尝试以下操作

x = $(selector).html();
$(selector).text(x);

这将导致显示 html 标记。

例如,以下行会将正文的 html 转储到要使用标签查看的正文中。

$("body").text($("body").html())
于 2013-10-16T18:02:52.453 回答