2011-04-13 7 views
1

흰색 상자로 나타나는 목록 항목이 몇 개 있습니다. 그러나 숫자 60은 빨간색 배경으로 나타납니다. 스크립트의 시작 부분에서 나는 그 목록 항목의 ID를 "boxID"라는 변수에 설정했다. 그런 다음 왼쪽 키보드 버튼을 누르면이 빨간색 배경 (클래스)이 제거되고 "boxID"가 1로 감산되어 59가됩니다. 그러나 같은 클래스를 새 "boxID "ID, ID가 59 인 목록 항목을 선택할 수없는 것처럼 모든 상자가 빨간색으로 바뀌고 모두 선택됩니다.제거한 후 선택한 목록 항목에 클래스 추가

$(document).ready(function(){ 

var boxID = $('li.selected').attr('id'); 

    $(document).keydown(function(e){ 
     if (e.keyCode == 37) { 
      $('li').attr('id', boxID).removeClass('selected'); 
      boxID -= 1; 
      $('li').attr('id', boxID).addClass('selected'); 
     } 
    }); 

}); 

답변

2

잘못된 요소를 선택했습니다. 이 변경 :

$('li').attr('id', boxID).addClass('selected'); 

에 :

$('li#' + boxID).addClass('selected'); 

당신이 그것을 쓴 방법은, 당신은 boxID에 모든 li 요소의 id 속성을 변경하기 위해 jQuery를 이야기하고 있으며, 그 후, 추가 그들 모두에게 selected 클래스.

+0

오. 당신이 말할 때 나는 실제로 값과 같은 것을 바꾸기 위해 .attr을 사용하는 것을 기억하지만, 분명히 잊어 버렸습니다;) 설명과 알림을 보내 주셔서 감사합니다. – Jonathan

+0

@Millenille 문제가 없습니다. 그것이 당신을 위해 일했다면이 대답을 받아 들일 자유롭게 (그리고 upvote!). :) –

관련 문제