我以前回答过这个问题,但我不完全明白为什么答案是正确的。答案的要点:
<p id="jqrender"></p> $(function() { $('#jqrender').html("<a href=http://www.website.com/>foo bar</a>"); });
在 OSX 上最新的 Chrome 上,jQuery 将其解释为<a href="website.com"></a>foo bar
. 我猜这是有道理的,因为它认为最接近的标记修正是<a href="website" />
. 但在本机上,Chrome 本身会将标记解释为<a href="website.com/">foo bar</a>
.
为什么是这样?我想要一个技术性的答案,jQuery 的哪一部分在做这个标记修复,它遵循什么一般规则,我怎么能猜到 jQuery 将如何对其他损坏的标记做出反应?