jquery - jQuery .html() 自动将 ' 更改为 "
问题描述
我的 HTML 如下所示(示例)
"<i class='la la-angle-double-right'></i>"
假设我使用 ajax 加载 HTML 内容并将其推送到 div(ajaxify 概念)。
但是当我称之为$(element).html();
返回时
"<i class="la la-angle-double-right"></i>"
然后让 js 面临问题Unexpected identifier at HTMLDivElement...
,如果我调用$(element).text();
它会返回'' // empty string
。
问题是在我的情况下如何通过 jQuery 获取原始 HTML?
注意:我的完整内容是一个完整的内容<script>...</script>
。
解决方案
两者<i class="la la-angle-double-right"></i>
和<i class="la la-angle-double-right"></i>
都是同一事物的有效表示。
如果您获取 html 并将其转换为 DOM,则原始 html 格式将丢失,浏览器将不会保留原始 html 文本,因此无法从 DOM Api 取回原始格式。
-$(element).html();
或者更准确地说是浏览器的 DOM API - 将 DOM 元素转换回 html,并使用浏览器实现者选择的格式。所以它可能是<i class="la la-angle-double-right"></i>
, <i class='la la-angle-double-right'></i>
, <I class="la la-angle-double-right"></I>
, <I CLASS="la la-angle-double-right"></I>
, ...
您不应该期望(甚至中继)某种格式。
你的问题是当你使用它时你没有正确地转义数据。你必须写:
{
"firstName": "<i class=\"la la-angle-double-right\"></i>"
/* ... */
}
推荐阅读
- neo4j - Cypher 是否可以仅使用部分文本进行语音文本搜索,而不使用弹性搜索?
- python - Python3.7 datetime.timestamp() 两分钟后返回错误值 (???)
- flutter - 异步功能完成后颤振 setState()
- postgresql - 改进简单连接
- node.js - Multer 不使用 next-connect 返回 req.body 和 req.file
- javascript - typeerror: app.use() 需要中间件功能修复
- java - 由于库存不足,iPhoneX 的购物车数量已从 10 个减少到 9 个
- spring - 如何通过使用 Postgres 代码的 Flyway 迁移创建 DataJpaTest?
- javascript - HEROKU 错误:ENOENT:没有这样的文件或目录,stat '/app/distpublic/index.html'
- android - 保持DatabaseHelper打开或关闭并在android应用程序上重新打开更好吗?