Javascript 转换为文本,但保留dom布局
我正在使用Javascript 转换为文本,但保留dom布局,javascript,jquery,html,Javascript,Jquery,Html,我正在使用$(selector.HTML()获取DOM HTML
$(selector.HTML()获取DOM HTML使用此操作将其转换为文本$(选择器).empty().text($(选择器).html())代码>
我的问题是text()代码>将html转换为纯文本而不进行任何格式化,是否可以将文本格式化为dom中的样子
我将所有内容都插入到一个pre元素中,因此使用html()使它认为应该像处理任何其他html标记一样处理它
像这样:
(不带箭头隐藏功能)如果您只想从$(选择器).html()
保留DOM,那么您可以只.html
而不是.text
:
$(selector).empty().html($(selector).html());
如果您只希望保留某些标记,则可以使用此替换代码()除去所有标记,替换方法中的标记除外:
rawHTML = $(selector).html().replace(/<\/?[br|li|ol|ul]+\/?>/igm,'');
$(selector).empty().html(rawHTML);
rawHTML=$(选择器).html().replace(//igm',);
$(选择器).empty().html(原始html);
如果您希望文本保持html格式,可以尝试以下方法
x = $(selector).html();
$(selector).text(x);
这将导致显示html标记
e、 g.下一行将把正文的html转储到正文中,以便用标记查看
$("body").text($("body").html())
你能发布你正在做的事情的代码吗?这个问题不明白,请重新表述第二部分,我正在将所有内容插入一个pre元素,这样一个HTML标记将被解释为HTML代码,从而使HTML()函数无法工作。在这种情况下,请尝试一个类似于格式化(漂亮打印)你的HTML的插件;在这种情况下,xml格式化程序应该适合您。