2012-07-05 70 views
0

目前我有1个html页面上的多个标签导航,当我点击一个导航时,它会影响其他标签导航。jQuery多页标导航1页

我似乎无法弄清楚如何实现我点击的标签导航而不隐藏其他标签导航的内容。

这里是我的jQuery代码

// thumbs click 
       $('.tabsNav li a').click(function(){ 
        $('.tab').hide(); 
        $($(this).attr('href')).show(); 
        return false; 
       }); 

继承人我的HTML,我想在页面上多次使用

<div class="rightContent"> 
        <ul class="tabsNav clearfix"> 
         <li> 
          <a href="#vlogs">vlogs</a> 
         </li> 
         <li> 
          <a href="#miniDocs">mini-docs</a> 
         </li> 
         <li> 
          <a href="#trailers">trailers</a> 
         </li> 
        </ul> 
        <div id="vlogs" class="tab"> 

        </div> 
        <div id="miniDocs" class="tab"> 

        </div> 
        <div id="trailers" class="tab"> 

        </div> 
       </div> 
+0

你什么想要的是沿$'(currenttabselector +'.tab')。hide();'行的东西,但更多的上下文将是必要的帮助。 – 2012-07-05 12:02:31

+0

你会如何推荐扩展它? – sat 2012-07-05 12:09:24

+0

我的jQuery是相当基本的,即上面的标准 – sat 2012-07-05 12:09:48

回答

1

只要你有喜欢它周围的rightContent股利(或任何其他人),这应该工作:

$('.tabsNav li a').click(function(){ 
    $(this).parents('tabsNav').parent().find('.tab').hide(); 
    $($(this).attr('href')).show(); 
    return false; 
}); 
+0

感谢指向我在正确的方向上工作正常。 – sat 2012-07-05 13:46:36

0
$('.tabsNav li a').click(function(){ 
        $(this).parents('.tabsNav').parents('.rightContent').children('.tab').hide(); 
        $($(this).attr('href')).show(); 
        return false; 
       }); 
+0

为什么你转发几乎与我发布的相同答案?对于每个标签导航(而不是容器),'.rightContent'类可能都不相同。+ find可以在jQuery中进行优化,而儿童不能。 – 2012-07-05 14:00:51