jQuery-单击时如何在li元素上添加类?

jQuery-单击时如何在li元素上添加类?,jquery,list,html,html-lists,addclass,Jquery,List,Html,Html Lists,Addclass,我发现了很多类似的问题,但不幸的是没有一个能真正解决我的问题 我有一个导航列表 <div class="nav-container"> <ul> <li><a href="index.php">Home</a></li> <li><a href="contact.php">Contact</a></li> </u

我发现了很多类似的问题,但不幸的是没有一个能真正解决我的问题

我有一个导航列表

<div class="nav-container">
     <ul>
          <li><a href="index.php">Home</a></li>
          <li><a href="contact.php">Contact</a></li>
     </ul>
</div>
它似乎在一瞬间添加了类,然后消失了

我通过使用“return false;”成功地让类应用但它会阻止实际链接一起工作

我猜其中一个正在取消另一个,它只是需要一些方法来阻止它。。。不太清楚您是如何做到这一点的(抱歉-jQuery新手)


提前感谢所有能够解决我的问题的人:)

对于本例,浏览器正在重新加载index.php或contact.php,因此您可能需要将类逻辑放在服务器上

您的类正在消失,因为页面正在重新加载,而此新页面不知道触发更改的旧页面事件

要单独使用Javascript解决此问题,您需要:

  • 在click事件上放置cookie,然后在页面加载时将其读回以在新页面上重新应用该类,或者
  • 异步加载每个页面的内容

但是,由于您目前将contact.php和index.php作为两个独立的页面,因此可能更容易将类硬编码到每个页面的标记中。

Thank you@PassKit,我不确定我是否理解。。。我正在使用WAMP,它通常可以很好地处理这类事情?这不是WAMP或堆栈问题。假设您在index.php上,并单击“联系人”。Javascript事件会触发,类会更改,但同时会向服务器发送请求以获取contact.php。加载contact.php时,它独立于index.php,因为它不知道已单击contact.php。
$(".nav-container li a").click(function(){
    $('.nav-container li a').removeClass('nav-active');
    $(this).addClass('nav-active');
})