2013-12-20 37 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(); 
});