我在使用jQuery时遇到了问题,仅仅是由于使用它的经验不足。我的程序旨在将CSS类current
提供给导航栏中的链接(如果单击它们),并从之前的所有者中删除该类。
请记住,我在javascript方面缺乏经验,只是为了学校作业而在几分钟内完成。脚本根本就没有做任何事情。
我的代码:
$(document).ready(function() {
$('a').click( function(i){
var $current = $('a.current');
$(this).addClass('current');
$current.removeClass('current');
});
});
编辑1:奇怪的错误,如果我没有点击链接,则将当前类应用于整个文档,而是单击该文档。
答案 0 :(得分:2)
您应首先删除class
,然后添加它。否则,如果您click
anchor
两次,则不会添加$(function() {
$('a').click(function() {
$('a.current').removeClass('current');
$(this).addClass('current');
});
});
。
{
"status" : 1,
"message" : "Some Message",
"data" : {
}
}
答案 1 :(得分:0)
试试这个:
$current.removeClass('current');
$(this).addClass('current');
您需要先删除活动类,然后为当前元素添加当前类。
答案 2 :(得分:0)
您需要缩小代码范围以仅影响导航栏中的链接,因为目前您正在定位所有<a>
代码。
var navLink = $('.nav a');
navLink.on('click', function(e){
navLink.removeClass('current');
$(this).addClass('current');
});
在此代码中,变量获取导航链接的所有实例,如果单击其中一个,则会将所有链接中的当前类删除,然后再将其添加到单击的链接上。
这个jsfiddle会告诉你它的实际效果:https://jsfiddle.net/td48vcqy/