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() 错误?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery。前置淡入(错误)

jquery中append跟prepend的用法

Jquery .prepend() 在顶部保留一个元素

jQuery `$().prepend();` 没有显示

jQuery prepend( ) 方法

JQuery 使用 Prepend 动态设置 ID