jQuery prepend() 错误?
Posted
技术标签:
【中文标题】jQuery prepend() 错误?【英文标题】:jQuery prepend() Bug? 【发布时间】:2010-06-29 17:49:31 【问题描述】:我正在使用 prepend(),结果似乎有问题。
$('#element').prepend('<div><a href="http://google.com"><a href="http://test.com">Test.com</a> - A site</a></div>');
而且 html 结果(也用 Firebug 查看)是错误的:
<div>
<a href="http://google.com"></a>
<a href="http://test.com">Test.com</a> - A site
</div>
(链接只是示例链接)
【问题讨论】:
你不能建立一个指向 2 个位置的链接。 【参考方案1】:你不能有一个锚inside一个锚...所以它不是“错误的”,它的行为与无效的 HTML 不同,但是当 HTML 无效时......嗯,这是意料之中的。
这样想,如果你点击了里面的锚点,你的浏览器应该去哪里?您点击了http://test.com
和 http://google.com
。
【讨论】:
【参考方案2】:据我所知,html 中不允许嵌套链接(a 元素)。所以浏览器在第二个之前先关闭。它与jQuery无关。
【讨论】:
【参考方案3】:Nesting anchor tags is also buggy.
【讨论】:
【参考方案4】:您必须以正确的 DOM 格式编写。同意尼克·克拉弗的观点。
只要“a”标签遇到另一个元素“a”,DOM就会自动关闭之前的“a”标签。和 xml 一样。
【讨论】:
以上是关于jQuery prepend() 错误?的主要内容,如果未能解决你的问题,请参考以下文章