jQuery - 当我点击时如何在li元素上添加一个类?

时间:2013-01-07 15:14:24

标签: 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>
     </ul>
</div>

当我点击它时,我想给一个锚标签(而不是'li')。到目前为止,我有:

$(".nav-container li a").click(function(){
    $('.nav-container li a').removeClass('nav-active');
    $(this).addClass('nav-active');
})

它似乎在一瞬间添加了该类,然后消失了。

我已经设法通过使用'return false;'来申请课程最后但它阻止了实际的链接一起工作。

我猜一个人正在取消另一个,它只需要一些方法来阻止它......不太确定你是怎么做的(对不起 - jQuery的新手)

提前感谢任何可以解决我的问题的人:)

1 个答案:

答案 0 :(得分:1)

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

您的课程正在消失,因为该网页正在重新加载,而这个新网页并不了解触发此更改的旧网页事件。

要在Javascript中解决此问题,您需要:

  • 在点击事件上放一个cookie,然后在页面加载上读取它以在新页面上重新应用该类,或者
  • 异步加载每个页面的内容

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

相关问题