我正在尝试编写一个脚本,如果用户在浏览器中按下“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
?
答案 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');
}
}
}