2009-11-11 84 views
0

我有這些超鏈接將跳轉到錨標籤在UL的一些地方跳轉到克隆後的錨標記

<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,但不能更改內部的ID。我想要的結果是,當點擊A或B或C時,它會使新克隆跳轉

如何解決此問題?如果有一種方法可以避免使用這些錨標籤,那也可以。我認爲jQuery有一種方法可以跳轉到特定的選擇器,對吧?讓我知道。

感謝

回答

1

jQuery ScrollTo插件可以解決您的問題。

jQuery.ScrollTo

相關:JQuery focus

或者你也可以添加這個腳本:

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

在您創建克隆也從原來的LI元素刪除屬性相同的功能。

0

可以動態改變克隆元素的name屬性:

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

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

然後你就可以跳轉到「#A2」爲例。