자바스크립트 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
<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>
jquery 를 php로 만들어서 붙여줍니다. ^^
<script>
$(document).ready(function(){
<?for($i=1;$i<=5;$i++) {?>
$("#toggle<?=$i?>").click(function(){
$("#text<?=$i?>").toggle();
});
<?}?>
});
</script>
<script>
$(document).ready(function(){
<?for($i=1;$i<=5;$i++) {?>
$("#toggle<?=$i?>").click(function(){
$("#text<?=$i?>").toggle();
});
<?}?>
});
</script>
답변을 작성하시기 전에 로그인 해주세요.