2013-02-08 2 views
0

실행되지 : 나는 불을 지르고 콘솔에 그것을 붙여 그런 식으로 실행 입력하면jQuery를 .each 루프는 내가 jQuery를 다음과 같은 약간을 실행하기 위해 노력하고있어

var c = 1; 
$("#bench-box .pid-switch").each(function(){ 
    $(this).attr('name', 'pidsarray['+c+']'); 
    c = c + 1; 
}); 

, 그것은 완벽하게 작동합니다. 이것은 선택자가 내가 원하는 것을 찾고 그것을 원하는대로 수행하고 있다는 것을 말해줍니다.

그러나 코드를 콘솔이 아닌 함수로 호출하면 작동하지 않습니다. 오류가 발생하지 않으며 단순히 실행되지 않습니다. 나머지 코드는 하나의 함수를 호출 한 후에 다른 함수를 계속 호출하여 계속 작동합니다.

콘솔을 통해 작동하는 이유와 그렇지 않은 이유를 알 수 없습니다. 여기 내 코드에서 어떻게 호출할까요?

$("#button").click(function() { 
    adjustPids(); 
}); 

function adjustPids() { 
var c = 1; 
$("#bench-box .pid-switch").each(function(){ 
    $(this).attr('name', 'pidsarray['+c+']'); 
    c = c + 1; 
});  
} 

의견이 있으십니까?

편집하지 :..

정상에 따라 위의 $ (문서)에 싸여되는 jQuery 코드 .ready (() 함수 내 원래의 질문에 언급 할 수 없습니다에 대한 나의 나쁜

+0

'# 버튼'을 클릭 할 때마다 'c'가 1로 재설정되어야합니까? –

+0

예, 그렇습니다. 나는 그것을 분명히해야만했다. –

+0

언제'c'를 실제로 검사합니까? –

답변

-1
var c = 1; 
$("#bench-box .pid-switch").each(function(i,elm){ 
    $(elm).attr('name', 'pidsarray['+c+']'); 
    c = c + 1; 
}); 
+0

나는 이것이 올바른 객체가되도록 uppon이라고 불리는 것의 범위라고 가정합니다. myObject.dosomething 이것은 dosomething에서 myObject가 될 것입니까? – HMR

+0

$ .each는 개체의 범위를 범위로 정의합니다. 예 : 각 Dom 노드 – whitneyit

0

아무것도 내가 볼 수있는 한 멀리 게시 한 코드에 오류가 있습니까? 콘솔에 오류가 있습니까? Firebug 또는 Chrome (플러그인 필요 없음)을 사용하여 Firefox를 사용하는 것이 좋습니다. f12 키를 눌러 개발자 도구를 열고 콘솔 출력 :

<!DOCTYPE html> 
<html> 
<head> 
<script src="jquery.js"></script> 
<script> 
    $(document).ready(function(){ 
     $("#button").click(function() { 
      console.log("ok, clicked"); 
      adjustPids(); 
     }); 

     function adjustPids() { 
      var c = 1; 
      console.log("adjustPids"); 
      $("#bench-box .pid-switch").each(function(){ 
       console.log("and this is",this); 
       $(this).attr('name', 'pidsarray['+c+']'); 
       c = c + 1; 
      });   
     }; 
    }); 
</script> 
</head> 
<body > 
<div id="bench-box"> 
    <div class="pid-switch">hello</div> 
    <div class="pid-switch">hello</div> 
    <div class="pid-switch">hello</div> 
</div> 
<input type="button" id="button" value="click me" /> 
</body> 
</html> 
0

사과드립니다. 모든 것이 올바르게 작동합니다. 방금 재 작성하고 주위를 움직였습니다. (나는 똑같은 코드를 다시 작성했지만, 이전과 다른 점을 발견 할 수 없다. 매우 혼란 스럽다.)

나는 그것이 왜 효과가 있는지 모르겠다. 그러나 나는 그것이 기쁘다. 그리고 나는 나의 다음 과제로 나아갈 것이다.

모든 도움을 주셔서 감사합니다.

관련 문제