2014-07-17 94 views
-1

我有一个问题,jQuery addClass代码添加类到我的div,但点击类后消失。这是一个多页面网站。添加类但点击后删除类

$(document).ready(function(){ 
    $(".left-menu-icon").click(function(){ 
    $(this).addClass("l-animals-a"); 
    }); 
}); 
<a href="animals.html"> 
    <div class="left-menu-icon l-animals"></div> 
</a> 
+1

看起来你正在点击一个链接并且没有触发'event.preventDefault',所以你正在加载一个新页面,这就是为什么你在那里看不到该类的原因。 – Culyx

+0

所以你想添加一个类到当前的菜单链接?如果是,'preventDefault'因为其他建议不是答案。 – undefined

+0

我知道,你知道任何解决方案,我不擅长jQuery吗? –

回答

1

由于Culyx正确地评论说:这到底是怎么发生的事情是,你在<a>标签点击实际上是重定向你到animals.html页面。我假设这是你目前所在的页面,所以实际发生的事情是页面更新。

你必须阻止该网页通过捕获click事件中的事件进行重定向:

$(".left-menu-icon").click(function(e){ 
    e.preventDefault(); 
    $(this).addClass("l-animals-a"); 
}); 

为了捕获事件,我使用的event.preventDefault()功能。 MDN文档描述此功能如下:

取消事件如果它是可取消的,而不停止进一步传播事件。

+0

谢谢,刷新是问题,但你提供给我的这段代码,但它不起作用。我有14个菜单按钮,导致14个不同的页面,有没有什么办法让我添加活动类菜单,因为它是活跃的?活动状态改变背景图像。 –

+0

什么是你的菜单元素?你没有在你的文章中引用它。这听起来对我来说就像是一个不同的问题...... – Lix

+0

现在是一个不同的问题,对不起。我发布的div里面的一个标签是菜单的第一个按钮,在该菜单中有14个相同的按钮,但不同的href链接。当我使用你的代码时,我无法在我的页面之间切换,因为点击标签现在不会工作。 –