2016-09-06 5 views
0

이 코드는 나에게 잘 어울립니다. 그러나 그것은 단지 작동하지 않았습니다. 아무도 그 이유를 말할 수 있습니까?이 간단한 jquery 코드가 작동하지 않는 이유는 무엇입니까

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

    $('myButton').click(function() { 

     alert(i); 

    }); 
} 

사실 내 브라우저에는 아무런 변화가 없습니다. 개발자 도구에서도 오류가 표시되지 않았습니다.

+6

'$ ('. myButton에') 같은 클래스 사용'.' 없음 클래스 또는 ID 접두사'$ '같은 ID를 사용'#'('#의를 myButton ')에 대한' – guradio

+0

는'for' 루프입니다 여분도 - '5'가 5 번 알려줍니다. 실제로 5 개의 다른 값을'alert() '하고 싶다면 –

+0

이라는 closure가 필요하다. 한 번의 클릭으로 5 번 경고하고 싶다. – yash

답변

1

당신의 문제는 당신이 JQuery와 라인에 id 인 클래스 ., 또는 # 언급하지 않았다입니다 :
$('myButton').click(function()

사용 접두사. 클래스 속성에는 id 속성에 대해 #가 사용됩니다.

이제 $('.myButton').click(function()을 수정했습니다. nd apply function을 작성했습니다.

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

 
    $('.myButton').click(function() { 
 

 
     alert(i); 
 

 
    }); 
 
}
<button type="button" class="myButton">Click Me!</button> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

당신은 하나의 시간을 경고하려는 경우

, 내가 코드를 수정하고 여기에 너무 jsfiddle link입니다.
경고가 표시되지 않으면 브라우저를 다시 시작하십시오.

번호 1,2,3,4,5와 같이 5 번 알려면 다음을 사용하십시오. jsfiddle link

0

올바른 방법으로 선택기를 사용해야합니다. 나는 몇 가지 예를 든다. ID에 대한

<button class="myButton"></button> 
    $('.myButton').click(function() { 
      alert(i); 
    }); 
    // Dot (.) is using for class in selector 

:

 <button></button> 
     $('button').click(function() { 
       alert(i); 
     }); 

당신에게 :

<button id="myButton"></button> 
    $('#myButton').click(function() { 
      alert(i); 
    }); 
    // Dot (#) is using for class in selector 

이름으로 요소를 선택하기위한 클래스

요소 이름으로 요소를 선택할 수도 있지만 같은 페이지에있는 것보다 모든 단추에 적용될 것이므로 권장하지 않습니다. 이게 너에게 도움이되기를 바랍니다.

0
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <button type="button" class="myButton">Click Me!</button> 


$('.myButton').click(function() { 
     for (i = 0; i < 5; i++) { 
       alert(i); 
     } 
    }); 
관련 문제