使用jquery更改类onClick

我有一个使用class =“active”显示活动状态的导航。 单击链接时,我需要将“活动”类添加到单击的链接,并从所有其他链接中删除“活动”类。

这是我的代码:

任何帮助将不胜感激!

试试这个:

 function changeClass() { $('#referNav a').removeClass('active'); $(this).addClass('active'); } 

你还应该在javacript中绑定函数,如下所示:

 $('#referNav a').on('click', changeClass); 

这样,正如Travis J在评论中指出的那样, $(this)将引用正确的对象。

的jsfiddle

你需要做的是创建一个名为changeClass的函数,它将查找class="active" ,然后删除该类。 然后将类名active分配给刚刚单击的元素。 将单击的元素传递给函数将是有益的,这样您就可以知道单击了哪个元素。 否则,您可以使用全局对象event并查看当前targetElement是什么。

我不愿意只是展示一个解决方案,因为不鼓励这类问题。 人们应该做自己的工作。 但是,由于这是一个简单的情况: jsFiddle演示

 $("div[id^=referLink] a").click(function(){ $('#referNav .active').removeClass('active'); $(this).addClass('active'); }); 

我的解决方案

  $('#referNav').on('div','click',functin(e){ $(e.target).closest('div[class^="referLink"]').siblings().find('a').removeClass('active'); $(e.target).closest('div').find('a').addClass('active'); });