javascript에서 반복문의 index가 포함되어있는 변수이름을 선언하고 싶습니다.
조회수 8268회
현재 제가 구현한 기능은 밑의 이미지와 같이 구현되어있습니다.
기능은 이렇습니다.
- 판매자가 book1,2,3를 등록해서 해당 도서가 li태그로 출력되어 보인다.
- 판매자가 book1 책을 판매하는데 성공해서
팔림 버튼
을 클릭하였다. 팔림 버튼
은번복하기 버튼
으로 변경되고 li 태그의 텍스트에는strike
속성이 추가되어 취소선이 그어진다.- 번복하기 버튼을 클릭하면 다시 원래대로 돌아간다.
이 기능을 구현하기 위해
jequery+js코드를 이용했는데
(function(){
$(document).ready(function(){
// 가장 마지막 책 항목의 index를 가져온다.
//(책이 3권이면 3의 값이 $book_list_num)에 저장된다.
$book_list_num = $("div").data("listNum");
for(i=1; i<= parseInt($book_list_num); i++){
//궁금한 부분
var btni = $("#btn"+i)
console.log(btni)
}
});
})();
버튼 변수를 html에서 생성된 버튼의 갯수 만큼 변수를 만들어 버튼을 잡아주고 onclick 메소드를 이용하여 효과를 적용하게 만들고 싶어서 js에서 반복문을 이용했는데 반복문 속에서 변수를 button1
, button2
, button3
... button+index
로 잡기 위한 방법을 잘 모르겠습니다.
조언 부탁드립니다.
1 답변
-
다시 답변 드립니다.
eval을 이용하시면 됩니다.
eval("var btn" + i + " = '#btn" + i + "';");
btni의 이름을 지정하는 변수를 하나 두면 될것 같습니다.
var vname = "#btn"+i; var btni = $(vname);
-
(•́ ✖ •̀)
알 수 없는 사용자
- 음.... 제가 원하는건 var btn1 = "#btn"+1 var btn2 = "#btn"+2 , var btn3 = "#btn"+3 처럼 되는 것입니다. 이를 어떻게 해결 할 수 있는지 궁금합니다. 한민수 2016.8.18 12:46
- 보통은.. 그럴 경우 btn1, btn2, btn3이 아니라 btn[1], btn[2], bnt[3]과 같이 배열로 처리합니다. 알 수 없는 사용자 2016.8.18 12:56
-
댓글 입력