채택완료

자바스크립트 for문 안에 함수 쓰는 법

2016-03-24 (목) 03:11:41 15,556

안녕하세요?

 

아래와 같은 코드를 뒤에 숫자만 바꿔서 (toggle1, toggle2, toggle3.. 이런 식으로)   

 

총 5개의 스크립트를 만들어서 사용했습니다.

 

<script>

$(document).ready(function(){

  $("#toggle1").click(function(){

    $("#ttext1").toggle();

  });

});

</script>

<p hidden id="text">내용</p>

<button id="toggle">버튼</button>  

 

 

그러나 스크립트 1개만으로 5개의 버튼에 각각 적용될 수 있도록 쓰고 싶습니다. 

그래서 for문안에 함수를 넣어 봤습니다.

결과는 안됩니다.

다음과 같이 코드를 짜봤는데 뭐가 문제인지 조언 부탁드립니다.

<script>

for(var i=0; i<5; i++) {

$(document).ready(function(){ 

  $("#toggle" + i).click(function(){

    $("#text" + i).toggle("slow");

  });

});

}

</script>

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
2016-03-24 (목) 07:58:50
Copy
<script>$(document).ready(function() {    $("button").on("click", function() {        var n = $(this).attr("id").substr(-1);        $("#text" + n).toggle("slow");    });});</script><p hidden id="text1">내용</p><button id="toggle1">버튼</button><p hidden id="text2">내용</p><button id="toggle2">버튼</button>
 

답변에 대한 댓글 1개

존경합니다!
2016-03-24 (목) 07:21:05
jquery 를 php로 만들어서 붙여줍니다. ^^

<script>
$(document).ready(function(){
<?for($i=1;$i<=5;$i++) {?>
$("#toggle<?=$i?>").click(function(){
$("#text<?=$i?>").toggle();
});
<?}?>
});
</script>

답변에 대한 댓글 1개

감사합니다!

답변을 작성하려면 로그인이 필요합니다.