更改菜单中的课程

时间:2014-04-23 07:09:18

标签: javascript jquery html css

我在这里得到了社区的大力帮助,我又一次伸出援手。 这是我的问题。我有一个菜单   

    <ul class="nav">
        <li onclick="javascript:changeText(0)"><a id="home" class="current" >Home</a></li>
        <li onclick="javascript:changeText(4)"><a id="company">Company</a></li>
        <li onclick="javascript:changeText(5)"><a id="sub">Subcontracting</a></li>
        <li onclick="javascript:changeText(6)"><a id="contact">Contact</a></li>
    </ul>

调用js函数onclick。这工作正常,我现在要做的就是更新class =&#34; current&#34;点击该项目。这是我没有的其他js函数。

<script language="javascript" type="text/javascript">

   $(".nav a#home").addClass("current");


   $("a").click(function(){
    $("a").removeClass("current");
    $(this).addClass("current");
   });
</script>

任何帮助都会很棒。提前谢谢。

3 个答案:

答案 0 :(得分:2)

你在创建dom后运行脚本吗? 如果没有,您可以将脚本移动到html以下或使用load事件,如下所示:

$(document).ready(function() {
   $(".nav a#home").addClass("current");


   $("a").click(function(){
    $("a").removeClass("current");
    $(this).addClass("current");
   });
});

答案 1 :(得分:1)

似乎对我来说工作得很好

我正在使用你的代码:

  $("a").click(function(){
    $("a").removeClass("current");
    $(this).addClass("current");
   });

请参阅fiddle

答案 2 :(得分:-1)

您正在删除脚本可以找到的第一个“a”类。你应该用这个:

$("a").each(function() {
  $(this).removeClass("current");
}

而不是$("a").removeClass("current");

您还必须准备好文档中的所有内容:

$(document).ready(function() {
   //code

});