2013-01-17 1 views
0

무엇이 잘못되었는지 알 수 없습니다. 도와주세요.조건부 내부 for 루프가 전달되지 않습니다. 왜?

새로운 민가 전달되어, 콘솔 로그는 activeSlide

에 대한 올바른 요소를 찾는 것을 보여
var activeSlide = $("#ep"+newNum); 

for (var i=0; i< allSlides.length; i++){ 

    var slidegrab = $("#ep"+i); 

    console.log(slidegrab == activeSlide) 
    if (slidegrab == activeSlide){ 
     console.log("stop loop and stop shuffle"); 
     return; 
    } else { 
     slidegrab.appendTo('#slideshow'); 
    } 
} 

slidegrab 및 activeSlide 변수 모두에 대한 올바른 이름을 표시합니다 내 콘솔. 조건문은 각 루프에 대해 거짓을 표시하며 절대로 사실이 아닙니다. 내가 뭘 놓치고 있니?

감사합니다.

+1

그들은 아마 두 가지의 jQuery 래퍼입니다. 아마 ID별로 비교해야할까요? –

+4

왜 newNum과'i'를 비교하지 않으시겠습니까? –

+0

console.log가 당신에게'true' 또는'false'를 주어야합니다. –

답변

3

두 개의 다른 jQuery 객체입니다. DOM 요소를 비교해야합니다.

또는 현재 슬라이드를 색인 및 요소별로 추적하고 싶을 수도 있습니다. 그게 더 일반적입니다.

+0

감사합니다. 이것들은 저를 데려 오는 작은 것들입니다 ... 나는 자바 스크립트를 작성하는 actionscripter입니다. 어쨌든 최적화를 위해 인덱스를 대신 사용해 보겠습니다. – HappaGirl

3

당신은 래퍼 대신 ID를 비교할 수 :

var activeSlide = $("#ep"+newNum); 

for (var i=0; i< allSlides.length; i++){ 

    var slidegrab = $("#ep"+i); 

    if (newNum== i){ 
     console.log("stop loop and stop shuffle"); 
     return; 
    } else { 
     slidegrab.appendTo('#slideshow'); 
    } 
} 
+0

newNum이 정수인 경우 – sdespont

+0

은 변수 이름에 따라 매우 혼란스러워 할 것입니다! –