我的网站有一个标识为#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很新。我在这个网站上看过以前的例子,当我尝试使用它时不起作用。那么有人可以调整我的代码/请帮帮我吗?
答案 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>