jQuery程序无法运行

时间:2016-08-11 08:44:22

标签: javascript jquery

我在使用jQuery时遇到了问题,仅仅是由于使用它的经验不足。我的程序旨在将CSS类current提供给导航栏中的链接(如果单击它们),并从之前的所有者中删除该类。

请记住,我在javascript方面缺乏经验,只是为了学校作业而在几分钟内完成。脚本根本就没有做任何事情。

我的代码:

$(document).ready(function() {
    $('a').click( function(i){
        var $current = $('a.current');
        $(this).addClass('current');
        $current.removeClass('current');
    });
});

编辑1:奇怪的错误,如果我没有点击链接,则将当前类应用于整个文档,而是单击该文档。

3 个答案:

答案 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/