2013-12-20 58 views
0

我在嘗試修復現有網站的代碼。我們使用的導航將哈希值關聯到內容標識。所有內容都是隱藏的,點擊與錨標籤中的導航哈希相匹配的標識將顯示帶有該標識的適當內容。使用jQuery維護鏈接

我遇到的問題是一個特定的導航部分有一個子部分,我需要一個鏈接來鏈接到PDF,同時保持父母頁面內容。目前,它會保留頁面內容或鏈接到PDF。好奇你們如何解決這種情況。

You can see the page live

這是我講的一節:

HTML

<li><a href="#floor-plan">Floor Plans</a> 
    <ul class="sub-nav"> 
    <li><a href="#floor-plan">3D Map</a></li> 
    <li><a href="../link/to/pdf">Detailed Floorplan</a></li> 
    </ul> 
</li> 

JS

$(".main--nav").each(function(){ 
    $('.main--nav li a').on('click', function(){ 
    // e.preventDefault(); 
    var $id = $(this).attr('href'); 
    $('.exhib-content').hide(); 
    $($id).show(); 
    }); 
}); 

NO TE:我評論了'preventDefault();'進行測試,因爲它不會讓鏈接實際發佈到PDF或任何其他事情。

回答

1

目標只有HREF,是開啓#使用attribute starts with selector,也是在不需要每個循環

$('.main--nav li a[href^="#"]').on('click', function() { 
    e.preventDefault(); 
    var $id = $(this).attr('href'); 
    $('.exhib-content').hide(); 
    $($id).show(); 
});