자바스크립트 for문 안에 함수 쓰는 법 채택완료

안녕하세요?

 

아래와 같은 코드를 뒤에 숫자만 바꿔서 (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개

채택된 답변
+20 포인트

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개

존경합니다!

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

jquery 를 php로 만들어서 붙여줍니다. ^^



<script>

$(document).ready(function(){

<?for($i=1;$i<=5;$i++) {?>

&nbsp; $("#toggle<?=$i?>").click(function(){

&nbsp; &nbsp; $("#text<?=$i?>").toggle();

&nbsp; });

<?}?>

});

</script>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다!

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

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

로그인
🐛 버그신고