更新:正如 TimWolla 评论的那样,这似乎是浏览器特定的行为 - 我应该如何以跨浏览器的方式可靠地标准化为未转义版本?
HTML:
<div id="test"><a href="#{one}">#{two}</a></div>
JS:
$('#test').html()
=> <a href="#%7Bone%7D">#{two}</a>
请注意,href 中的 #{one} 已转义,而 #{two} 则未转义。
除了 unescape 整个字符串之外,还有更好的方法吗?
unescape($('#test').html())
=> <a href="#{one}">#{two}</a>
请您参考如下方法:
首先,我怀疑你的问题是否有可靠的解决方案。根本原因很简单:因为底层工作的 Element.innerHTML 是非标准的,它仅取决于浏览器的实现。
如果您想要一个可靠的解决方案,我建议您使用 DOM 操作而不是模板。
