首页 > 解决方案 > Jquery附加Html而不是布局

问题描述

我担心的是,我正在使用 ajax 从数据库中获取原始 HTML 作为字符串。可以了,好了。

但是,每当我将它附加到 DIV 中时,它都会将整个代码按原样放置,而不是将其转换为布局格式。

代码如下:

jQuery

var str='&lt;textarea rows="4" cols="10" class="form-control physical_examination(urine)_field1" name="physical_examination(urine)_field1[]" placeholder=""&gt;&lt;/textarea><br/>&lt;textarea rows="4" cols="10" class="form-control physical_examination(urine)_field2" name="physical_examination(urine)_field2[]" placeholder=""&gt;&lt;/textarea><br/>&lt;textarea rows="4" cols="10" class="form-control physical_examination(urine)_field3" name="physical_examination(urine)_field3[]" placeholder=""&gt;&lt;/textarea><br/>&lt;textarea rows="4" cols="10" class="form-control physical_examination(urine)_field4" name="physical_examination(urine)_field4[]" placeholder=""&gt;&lt;/textarea><br/>&lt;textarea rows="4" cols="10" class="form-control physical_examination(urine)_field5" name="physical_examination(urine)_field5[]" placeholder=""&gt;&lt;/textarea><br/>';

var generatedView=$(".generatedView");

generatedView.append(str);

HTML

<div class="generatedView"></div>

输出

textarea_html_view_presented:

在此处输入图像描述

预期产出

textarea_html_DOM_view_expected:

在此处输入图像描述

标签: jqueryhtmlcssajax

解决方案


解码实体然后解析 HTML qith jQuery

const input  = '.... see question ....',
      html   = input
          .replace(/&lt;/g, '<')
          .replace(/&gt;/g, '>'),
      parsed = $.parseHTML(html);

$(".generatedView").append(parsed);

注意:这是一种简单的方法。如果您的输入中有其他实体,您应该查看一个真实的实体解码模块。


推荐阅读