javascript - 为什么在 domready 上的 document.write(x) 中没有显示字符串末尾的实体转义?
问题描述
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 标签的转义字符串并在网页中写入。
警报窗口中的转义字符串是正确的,但是关闭警报窗口后您只能看到(截图):
<p><img alt="" src="upfiles/54591303758197437.jpg" /></p
最后一个在哪里>
?
为什么<p><img alt="" src="upfiles/54591303758197437.jpg" /></p>
网页上不显示?
解决方案
我在 Chrome 69 (Windows) 上也有同样的症状。
按照MDNdocument.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>
推荐阅读
- android - 在 QuickBlox 视频通话期间从帧中获取位图
- azure - 如何从 Function App URL 中删除“api”
- kubernetes - Kubernetes (K8s) - Can you check what time a pod restarts at?
- openmdao - Using IndepVarComp instead of metadata
- powershell - O365 电源外壳 | 将一长串列表分成两组,每组 100 个
- django - 高级 django 查询
- azure - Microsoft Graph Api - Azure Active Directory B2B 协作邀请兑换 - 失去对文档的访问权限
- c - C. 正确处理指向分配结构并返回指向它的指针的函数的双指针——在不同的函数中读取、显示、释放
- sql - 无法插入到 postgres 列
- php - 在项目页面上显示项目规格的最佳方式,以便 Google 更好地索引