我有以下代码
$("#v-nav-exp-liv li a").click(function(){
//code for action related #v-nav-exp-liv li a
//code for action related .content-nav li
$(".content-nav li").removeClass("tab");
$(".content-nav li.zik-liv").addClass("tab");
return false;
});
html如下
<ul class="content-nav">
<li class="zik-liv"><a href="index.php?p=explore">Zikrs</a></li>
<li class="ppl-liv"><a href="index.php?p=explore&t=ppl">People</a></li>
</ul>
<ul class="part v-nav" id="v-nav-exp-liv">
<li><a href="#" type="zikr_explore" sort_by="all">All</a></li>
<li><a href="#" type="zikr_explore" sort_by="most_shared">Most Shared</a></li>
</ul>
与“#v-nav-exp-liv li a”相关的代码非常有用,我不知道为什么addclass不起作用....
答案 0 :(得分:2)
我会说你的选择器错了。
顺便说一句,你可以让那些代码变得更加简洁......$(".content-nav li.zik-liv").addClass("tab").siblings().removeClass("tab")
假设所选的li
都是兄弟姐妹。
答案 1 :(得分:0)
确保$(".content-nav li.zik-liv")
有效
答案 2 :(得分:0)
如果只 addClass
无法正常工作,则会发生以下两种情况之一:
".content-nav li.zik-liv"
)不好,或者如果它不仅仅是addClass
,那么在调用click
之前,addClass
处理程序中的代码可能会出现一些Javascript错误,导致addClass
不成为{{1}}完全被召唤。
答案 3 :(得分:0)
您的代码和addClass
工作正常:see example - 示例是代码的直接粘贴,并添加了视觉突出显示以显示.tab
类激活
对于第二个列表中的每个链接,它只针对第一个列表中的第一个链接,它永远不会改变,也许你正在尝试做一些与此不同的事情?