2011-04-25 72 views
0

我有以下代码addClass不工作

$("#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立一个” 非常多的工作我不知道为什么addclass不工作....

+1

请显示您的HTML以及 – 2011-04-25 08:19:17

+0

定义“不工作”。如果用调试器查看'li',那么该类不会显示在'class'属性中? – 2011-04-25 08:19:54

+0

在HTML中是否有类“content-nav li.zik-liv”的元素?请发布HTML代码 – 2011-04-25 08:20:18

回答

0

你的代码和addClass都工作得很好:see example - 例如添加了视觉亮点代码直接粘贴到显示.tab类激活

第二列表中的每一个环节,它只是针对第一个列表中的第一个链接,永远不会改变,也许你正在尝试做一些不同的事情?

0

确保$(".content-nav li.zik-liv")工作

2

我说你的选择是wron G。

顺便说一句,你能有这样的代码更succint ...

$(".content-nav li.zik-liv").addClass("tab").siblings().removeClass("tab") 

假设选择li都是兄弟姐妹。

0

如果只有addClass无法运作,那么两件事情之一是怎么回事:

  1. 你的选择(".content-nav li.zik-liv")不好,或
  2. 您期待看到的变化使用不会动态更新的工具(尝试使用CSS规则来代替它)

如果它不只是addClass,那么您可能有一些Javascript错误或在调用addClass之前click处理程序中的代码,导致addClass根本不被调用。