按顺序添加和删除类

时间:2015-04-08 18:09:10

标签: javascript jquery css

我正在尝试编写一个脚本,如果用户在浏览器中按下“J”,将选择“li”并给出一个css类来显示它已被选中。

这是我的代码。

JS

    if (keyCode == 74) {
        if($('input').is(":focus")|| $('textarea').is(":focus")){
            return null;
        } else {
            e.preventDefault();
            if(! $('ul.question-list > li').hasClass('selected-child')){
                $('ul.question-list > li.question:first-child').addClass('selected-child');
            } else { 
                $('ul.question-list > li.question.selected-child').next().addClass('selected-child');
            }
        }
    }

我遇到的问题是,在下一个li元素有类后,li之前仍然有selected-child类(显然)。

如何在新选择的li之前添加上述脚本以从li元素中删除selected-child

1 个答案:

答案 0 :(得分:1)

if (keyCode == 74) {
    if($('input').is(":focus")|| $('textarea').is(":focus")){
        return null;
    } else {
        e.preventDefault();
        if(! $('ul.question-list > li').hasClass('selected-child')){
            $('ul.question-list > li.question:first-child').addClass('selected-child');
        } else { 
            var selectedChild = $('ul.question-list > li.question.selected-child');
            selectedChild.removeClass('selected-child');
            selectedChild.next().addClass('selected-child');
        }
    }
}