2012-08-10 4 views
0

내 코드에서 jquery next()가 작동하지 않습니다. 내 HTML 코드는jquery next() not working

<a class="reply">Reply</a> 
<div class="respond" style="display:none;">respond 1</div>  
<a class="reply">Reply</a> 
<div class="respond" style="display:none;">respond 2</div> 
<a class="reply">Reply</a> < 
div class="respond" style="display:none;">respond 2</div> 

내 jQuery 코드는

$('.reply').click(function(e){ 
     e.preventDefault(); 
     $(this).next().show(); 
}); 

이지만이 작동하지 않는 것입니다. 나에게 해결책을주십시오.

+3

jQuery가 올바르게로드 되었습니까? _it이 (가) 작동하지 않는다는 것은 무슨 뜻입니까? http://jsfiddle.net/d3VGz/ – undefined

+0

나는 당신의 코드에서 [피들] (http://jsfiddle.net/t7jYp/)의 문제가 무엇인지 이해하지 못했습니다. – vadim

+0

잘 작동합니다. http://jsfiddle.net/5Umjd/ jQuery가로드되었는지 확인 했습니까? –

답변

2

실행 순서가 중요합니다. jQuery 코드가 HTML보다 먼저 요소를 정의하면 해당 요소가 존재하기 전에 코드가 실행되므로 실제로 이벤트 핸들러가 바인딩되지 않습니다. 이러한 경우 jQuery .ready() 함수를 사용하여 DOM 준비 이벤트에 대한 이벤트 핸들러를 바인드해야 이벤트 핸들러가 바인드 될 때 요소가 존재하도록 보장해야합니다.

$(document).ready(function() { 
    $('.reply').click(function(e){ 
     e.preventDefault(); 
     $(this).next().show(); 
    }); 
});