【发布时间】:2013-12-04 18:34:03
【问题描述】:
这是我的代码:
console.log($('p').html())
<p><span data-htmlContent="&lt;p&gt;This is not really in a p tag.&lt;/p&gt;">.</span>.</p>
在 Chrome 和旧版 FireFox 中,控制台日志:<span data-htmlcontent="&lt;p&gt;This is not really in a p tag.&lt;/p&gt;">.</span>.
但在 IE 和更新的 FireFox 中,它会记录:<span data-htmlcontent="<p>This is not really in a p tag.</p>">.</span>.
问题可以看这里:http://jsfiddle.net/Nzj52/9/
【问题讨论】:
-
我在 FF24 和 ie10 中得到相同的结果
-
非常有趣的错误...我的第一个猜测是 jQuery 的 html() 选择器有问题,但让我玩一下,看看我想出了什么。
-
@megawac,多么令人沮丧。它在旧版本的 FF 中工作,但是当我更新时,它就像你说的那样坏了。我会编辑问题。
-
问题根本与正则表达式无关:问题在于 <和>即使它们在属性中,它们在 html 函数(
oldHtml字符串)给出的 HTML 中也不会转义。应修复此问题以删除对正则表达式的所有引用并包含相关部分。 -
还要注意,这不是一个 jQuery 错误,它更像是
innerHTML访问器中的一个错误。
标签: javascript internet-explorer dom cross-browser html-escape-characters