Javascript 克隆后跳转到锚定标记

Javascript 克隆后跳转到锚定标记,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这些超链接,将跳转到一些地方的锚标签 <a href="#A">A</a> <a href="#B">A</a> <a href="#C">A</a> <ul> <li><a name="A"></a></li> <li><a name="B"></a></li> <li><a name="C"

我有这些超链接,将跳转到一些地方的锚标签

<a href="#A">A</a>
<a href="#B">A</a>
<a href="#C">A</a>

<ul>
<li><a name="A"></a></li>
<li><a name="B"></a></li>
<li><a name="C"></a></li>
</ul>

这是为了确保我跳转到列表中按字母顺序排列的正确字母(很长,并且有滚动条)。我的问题是,这是文件准备就绪时的克隆(不同目的的网站要求-此处无法更改)。所以在克隆之后,有两组锚定标签在做同样的事情。我可以在克隆上更改的ID,但不能在内部更改。我想要的结果是,当单击A、B或C时,它将跳转到新克隆中

如何解决这个问题?如果有办法避免使用这些锚定标签,也可以。我认为jQuery有一种跳转到特定选择器的方法,对吗?让我知道


感谢您在创建克隆的同一功能中删除原始元素的LI元素的name属性。

您可以动态更改克隆元素的name属性:

$(function() {
    names = ['A', 'B', 'C'];

    $.each(names, function(i, name) {
        $("[name='" + name + "']")[1].name = name + "2";
    });
});

然后您可以跳转到“#A2”例如。

jQuery ScrollTo插件可以解决您的问题

相关的:

或者您可以添加以下脚本:

clone.find("a[href^=#]").each(function() {
    var anchor = $(this);
    var name = anchor.attr("href");
    anchor.attr("href", name + "_1");
    clone.find("a[name=" + name.substring(1) + "]").attr("name", name.substring(1) + "_1");
});