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");
});