javascript显示htmlentities标签

时间:2016-11-22 04:03:33

标签: javascript jquery

var foo = $('.imgEscape').text();
foo = foo.replace("&lt;img src=&quot;", "<img src='");
foo = foo.replace("&quot; /&gt;", "' />");
$('.imgEscape').text(foo);//will display as string
$('.imgEscape').html(foo);//will display all html tag

&lt;img src=&quot;https://www.google.com.tw/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png&quot; /&gt;
&lt;b&gt;abc&lt;/b&gt

我有一个页面后端输出数据为htmlspecialcharacter。

我希望用js替换一些标签(例如img标签)

所以我仍然可以显示图像

我的问题是,如果我使用html(),它将显示所有元素。

我希望仅显示图片(<img> ... &lt;b&gt;abc&lt;/b&gt

谁知道怎么做?

1 个答案:

答案 0 :(得分:3)

text()方法返回已解析的文本数据,因此String#replace方法无法解析内容,因为内容已解析为字符串。相反,您需要使用html()方法获取实际的HTML内容内容。

var foo = $('.imgEscape').html();
// update here -----------^^^^^^----
foo = foo.replace("&lt;img src=&quot;", "<img src='");
foo = foo.replace("&quot; /&gt;", "' />");
$('.imgEscape').html(foo);