转换为文本但保持dom布局

时间:2013-10-16 17:55:09

标签: javascript jquery html

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

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

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

像这样:

enter image description here

(没有箭头隐藏功能)

2 个答案:

答案 0 :(得分:0)

如果您只想保留$(selector).html()中的DOM,那么您可以.html代替.text

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

如果您只想保留某些标记,那么您可以使用此替换代码(from here)去除除替换方法中的标记之外的所有标记:

rawHTML = $(selector).html().replace(/<\/?[br|li|ol|ul]+\/?>/igm,'');
$(selector).empty().html(rawHTML);

答案 1 :(得分:0)

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

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

这将导致显示html标记。

e.g。以下行将主体的html转储到要使用标签查看的正文。

$("body").text($("body").html())