使用jQuery在click上添加和删除一个类?

ang*_*ela 29 html css jquery class click

请看这个小提琴.

我正在尝试添加和删除单击的li元素上的类.这是一个菜单,当我点击每个li项目时,我希望它获得该类,所有其他li项目都删除了该类.因此,一次只有一个li项目具有该类.这是我有多远(见小提琴).我不确定如何让'about-link'从类当前开始,但是当点击其他一个li项时它会被删除?

$('#about-link').addClass('current');
$('#menu li').on('click', function() {
    $(this).addClass('current').siblings().removeClass('current');
});
Run Code Online (Sandbox Code Playgroud)

Jam*_*lor 64

为什么不尝试这样的事情呢?

$('#menu li a').on('click', function(){
    $('#menu li a.current').removeClass('current');
    $(this).addClass('current');
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

  • 太棒了。还能变得更好吗? (2认同)

小智 6

你可以尝试这一点,它可能有助于在大功能上提供更短的代码.

$('#menu li a').on('click', function(){ $('li a.current').toggleClass('current'); });


小智 5

其他li元素不是元素的兄弟元素.

$('#menu li a').on('click', function(){
    $(this).addClass('current').parent().siblings().children().removeClass('current');
}); 
Run Code Online (Sandbox Code Playgroud)