var foo = $('.imgEscape').text();
foo = foo.replace("<img src="", "<img src='");
foo = foo.replace("" />", "' />");
$('.imgEscape').text(foo);//will display as string
$('.imgEscape').html(foo);//will display all html tag
<img src="https://www.google.com.tw/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" />
<b>abc</b>
我有一个页面后端输出数据为htmlspecialcharacter。
我希望用js替换一些标签(例如img标签)
所以我仍然可以显示图像
我的问题是,如果我使用html()
,它将显示所有元素。
我希望仅显示图片(<img> ... <b>abc</b>
)
答案 0 :(得分:3)
text()
方法返回已解析的文本数据,因此String#replace
方法无法解析内容,因为内容已解析为字符串。相反,您需要使用html()
方法获取实际的HTML
内容内容。
var foo = $('.imgEscape').html();
// update here -----------^^^^^^----
foo = foo.replace("<img src="", "<img src='");
foo = foo.replace("" />", "' />");
$('.imgEscape').html(foo);