根据单击的导航链接激活jquery tabber

时间:2013-04-23 20:33:43

标签: javascript jquery

我的网站有一个标识为#nav的导航。我想根据点击的导航列表激活一个tabber。导航#nav有一个像这样的HTML: -

 <ul id ="nav">
    <li><a href="#tab1">Fred</a></li>
    <li><a href="#tab2">Thom</a></li>
    <li><a href="#tab3">Kay</a></li>
</ul>

当Fred从导航中点击时,我想在有这样一个html的tabber上激活它

 <ul class="tabs">                                        
         <li><a href="#tab1">Fred</a></li>                                      
         <li><a href="#tab2">Thom</a></li>    
         <li><a href="#tab3">Kay</a></li>       
</ul>

和标签内容如下: -

<div id="tab1" class="tab_content">Lorem</div>
<div id="tab2" class="tab_content">Ipsum</div>
<div id="tab3" class="tab_content">Dolor</div>

所以我写了以下jquery行

$("#nav li").click(function() {

         var hash = location.hash;
          var sel = $("ul.tabs li a[href='" + hash + "'], ul#tabs li a[href='" + hash + "']");

    if (sel.length) { 

        sel.addClass("active").parent().addClass("active"); //Activate tab



        $(hash).show();
    }

它不起作用!我如何将onclick事件绑定到它?对不起,伙计们,我对jquery很新。我在这个网站上看过以前的例子,当我尝试使用它时不起作用。那么有人可以调整我的代码/请帮帮我吗?

1 个答案:

答案 0 :(得分:1)

你的jquery不是问题 - 这是你的HTML。您在click函数中使用了location.hash,但您的nav ul实际上没有哈希值。尝试更改此内容:

<ul id ="nav">
    <li><a href="tab1">Fred</a></li>
    <li><a href="tab2">Thom</a></li>
    <li><a href="tab3">Kay</a></li>
</ul>

到此:

<ul id ="nav">
    <li><a href="#tab1">Fred</a></li>
    <li><a href="#tab2">Thom</a></li>
    <li><a href="#tab3">Kay</a></li>
</ul>