Javascript jQuery html()将大括号转换为html实体(有时)
基本上: 我有这个HTML:Javascript jQuery html()将大括号转换为html实体(有时),javascript,jquery,html,Javascript,Jquery,Html,基本上: 我有这个HTML: <div id="foo"><img src="/foo/bar/{var}/foo" alt="{var}"></div> 我得到: <img src="/foo/bar/%7Bvar%7D/foo" alt="{var}"> 我期望的输出是: <img src="/foo/bar/{var}/foo" alt="{var}"> 这是怎么回事?关于如何解决这个问题,有什么建议吗 如果解决方案
<div id="foo"><img src="/foo/bar/{var}/foo" alt="{var}"></div>
我得到:
<img src="/foo/bar/%7Bvar%7D/foo" alt="{var}">
我期望的输出是:
<img src="/foo/bar/{var}/foo" alt="{var}">
这是怎么回事?关于如何解决这个问题,有什么建议吗
如果解决方案是使用正则表达式撤消HTML实体转换,我想我会感到惊讶。使用括号而不是大括号似乎会导致相同的结果(对于不同的HTML实体)
编辑:我尝试使用方括号(
[
和]
)进行编辑,与括号和大括号不同,括号不会转换为HTML实体。括号和大括号在这里有什么特殊的意义吗?你可能会使用javascript unescape函数你可能会使用javascript unescape函数你试过使用&123您的HTML中的{
的代码>和};
的}
?这将防止Javascript解释大括号 您是否尝试过使用{您的HTML中的{
的代码>和};
的}
?这将防止Javascript解释大括号 谢谢——这很有用,但与regex一样,这将取消对任何预期HTML实体的扫描,尽管unescape
比任何regex解决方案都要好。unescape
应该可以完美地工作并正确地解码所有内容。我用做了一个快速测试&
和unescape($(“#foo”).html())
返回源代码中显示的文本字符串谢谢——这很有用,但与regex一样,这将取消对任何预期html实体的扫描,尽管unescape
比任何regex解决方案都要好得多。unescape
应该可以完美地工作并正确地解码所有内容。我用做了一个快速测试&
和unescape($(“#foo”).html())
返回源代码中显示的文本字符串
<img src="/foo/bar/{var}/foo" alt="{var}">