2008-09-02 12 views
3

jQuery 및 Prototpye JavaScript 라이브러리는 하드 코딩 된 숫자를 허용하지만 변수를 사용하여 목록 항목 요소를 인덱스 번호로 선택할 수 없도록합니다.jQuery 및 Prototype Selector Madness

$$('li')[5].addClassName('active'); 

을하지만이 아무리 숫자 또는 정수로 변수를 캐스팅해야 할 방법을 작동하지 않습니다 :

예를 들어, 프로토 타입이 작동 내가 할 jQuery를에

$$('li')[currentPage].addClassName('active'); 

비슷한 기이함. 이것은 작동합니다 :

jQuery('li').eq(5).addClass("active"); 

그러나 currentPage의 값이 5에도이 다시 작동하지 않습니다와 그 유형 번호 :

jQuery('li').eq(currentPage).addClass("active"); 

내가 자바 스크립트 페이지 매김 시스템을 만들려고 해요 내가 활성 페이지 버튼에 클래스를 설정해야합니다. 목록 항목 요소는 필요한 페이지 수에 따라 동적으로 만들어집니다.

답변

1

하드 코딩 된 숫자가 작동한다는 것은 이상하지만 필자는 필자의 요소 선택기에 좀 더 구체적 일 필요가있는 것처럼 보입니다.

5

currentPage은 정수입니까? 다음과 같이 시도하십시오 :

var currentPage = 5; 
jQuery('li').eq(currentPage); 

간단한 정정 체크로. 문제가 해결되면 Integer으로 전송 해보세요.

2

currentPage 변수가 액세스중인 코드에서 올바르게 범위가 지정되었는지 확인하십시오. 코드에 액세스하기 전에 변수가 다른 곳에서 변경 될 수 있습니까? Firebug과 같은 도구를 사용하면 실행 시점에 중단 점을 추가하고 변수 값을 볼 수 있습니다.