addClass到当前的li元素和removeClass

时间:2015-03-12 03:13:09

标签: javascript jquery html css

点击下一个当前addClass并点击上一个 li时,我正尝试removeClass蓝色{1}}。但是,我似乎无法让它工作,它将类添加到其他li,但似乎删除了以前的类。

小提琴: https://jsfiddle.net/5otouLxg/1/

li

var $li = $("li a#t1:first-child");
var $li2 = $("li a#t2:first-child");
$('li').click(function () {
    if ($li.children().has
var $li = $("li a#t1:first-child");
var $li2 = $("li a#t2:first-child");

$('li').click(function () {
    if ($li.children().hasClass('nav-1')) {
        $li.children().addClass('blue');
        $li2.children().removeClass('blue');
    }
    if ($li2.children().hasClass('nav-2')) {
        $li.children().removeClass('blue');
        $li2.children().addClass('blue');
    }
});
.blue {
    color: blue;
}

2 个答案:

答案 0 :(得分:2)

我认为您可以通过简化代码来实现您的目标:使用Two li'sA bunch of li's

$('li').click(function () {
    $(this).children('a').addClass('blue');
    $(this).siblings().children('a').removeClass('blue');
});

答案 1 :(得分:0)

我使用另一个脚本使其正常工作

$('li').click(function(){
    $('li').removeClass('blue');
    $(this).addClass('blue');
});

该脚本将删除所有li的所有“blue”类(如果超过2个),并将该类添加到已单击的类中。

希望这就是你所需要的。

Fiddle DEMO