문제

jQuery와 Prototpye JavaScript 라이브러리는 모두 하드 코딩된 숫자를 허용하지만 변수를 사용하여 색인 번호로 목록 항목 요소를 선택하는 것을 거부합니다.

예를 들어 Prototype에서는 다음과 같이 작동합니다.

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

그러나 이것은 변수를 숫자나 정수로 어떻게 캐스팅하려고 해도 작동하지 않습니다.

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

jQuery에서도 비슷한 이상한 현상이 발생합니다.이것은 작동합니다:

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

그러나 currentPage의 값이 5이고 유형이 숫자인 경우에도 이는 다시 작동하지 않습니다.

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

JavaScript 페이지 매김 시스템을 만들려고 하는데 활성 페이지 버튼에 클래스를 설정해야 합니다.목록 항목 요소는 필요한 페이지 수에 따라 동적으로 생성됩니다.

도움이 되었습니까?

해결책

하드 코딩된 숫자가 작동하는 것이 이상하긴 하지만 요소 선택기에서 좀 더 구체적이어야 했던 것 같습니다.

jQuery('#pagination-digg li').eq(currentPage).addClass("active");

다른 팁

당신은 그것을 확신합니까? currentPage 정수인가요?다음과 같이 시도해 보세요:

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

간단한 건강검진으로작동한다면 다음으로 캐스팅해 보세요. Integer.

currentPage 변수가 액세스되는 코드에서 범위가 올바르게 지정되었는지 확인하세요.변수에 액세스하기 전에 코드의 다른 곳에서 변수를 변경할 수 있습니까?다음과 같은 도구 개똥 벌레 실행 시점에 중단점을 추가하고 변수 값을 확인하는 데 도움이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top