我发现了很多类似的问题,但遗憾的是没有一个问题对我的问题有帮助......
我有一个导航列表
<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的新手)
提前感谢任何可以解决我的问题的人:)
答案 0 :(得分:1)
对于此示例,浏览器正在重新加载index.php或contact.php,因此您可能需要将类逻辑放在服务器上。
您的课程正在消失,因为该网页正在重新加载,而这个新网页并不了解触发此更改的旧网页事件。
要在Javascript中解决此问题,您需要:
但是,由于您目前将contact.php和index.php作为两个独立页面,因此将类硬编码到每个页面的标记中可能更容易。