var target = '<p><img alt=\"\" src=\"upfiles\/54591303758197437.jpg\" \/><\/p>'
$(function(){
var x=$('<div/>').text(target).html();
alert(x);
document.write(x)
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我显示包含 html 标签的转义字符串并写入网页。
alert窗口中的转义字符串是正确的,但是关闭alert窗口后你只能看到(screenshot):
<p><img alt="" src="upfiles/54591303758197437.jpg" /></p
最后一个在哪里>
?
为什么 <p><img alt="" src="upfiles/54591303758197437.jpg" /></p>
不会出现在网页上?
最佳答案
我在 Chrome 69 (Windows) 上有同样的症状。
根据 MDN 的建议,通过添加 document.close()
调用设法修复它:
target = '<p><img alt=\"\" src=\"upfiles\/54591303758197437.jpg\" \/><\/p>'
$(function(){
x=$('<div/>').text(target).html();
alert(x);
document.write(x);
document.close();
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
关于javascript - 为什么在 domready 上没有为 document.write(x) 显示字符串末尾的实体转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52275666/