자바스크립트(jquery) 질문입니다. (for 문)
글쓴이: bsjun / 작성시간: 일, 2016/01/17 - 12:20오전
for (i = 1; i <= 5; i++) {
$("#test").append(''+i+'');
var btn_id;
btn_id = '#btn'+i;
$(btn_id).click(function(){
alert(i);
});
};
조건을 i <= 5 로 했는데,
for 문 내부에서 새로 만드는 함수에서
alert (i) 하면 6 이 출력이 되네요..
버튼은 정상적으로 5개가 생성이 되고
각 버튼 클릭 할때마다 6이 출력이 됩니다.
for 문 내부에서 함수를 새로 만들어서 사용 하면 안되는건가요?
답변 주시면 감사하겠습니다 !
Forums:
새로 만들어서 사용하면 안 되는 게 아니라, 루프
새로 만들어서 사용하면 안 되는 게 아니라, 루프 안에서 매번 함수를 새로 만들긴 했는데 그 함수들이 모두 하나의 i 를 접근하고 있다는 게 문제입니다.
저도 자바스크립트를 잘 아는 게 아니라서 더 좋은 방법이 있을지도 모르겠습니다만, 일단 이렇게 하시면 원하는 동작을 할 겁니다.
좋은 하루 되세요!
아 제가 코드 올리는 방법을 몰라서
아 제가 코드 올리는 방법을 몰라서 제 코드가 깨져있습니다.
우선 알려주신 방법으로 한번 시도해 보겠습니다.
댓글 달기