2012-08-10 93 views
0

jquery next()在我的代碼中不工作。我的HTML代碼jquery next()不工作

<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 2012-08-10 07:44:12

+0

我不明白什麼問題,但在[小提琴](http://jsfiddle.net/t7jYp/)從你的代碼一切正常。 – vadim 2012-08-10 07:47:03

+0

這工作正常http://jsfiddle.net/5Umjd/你檢查如果jQuery加載? – 2012-08-10 07:47:14

回答

2

執行順序很重要。如果您的jQuery代碼位於HTML之前以定義元素,那麼代碼將在這些元素存在之前運行,因此不會綁定事件處理程序。在這些情況下,您需要使用jQuery .ready()函數爲DOM就緒事件綁定事件處理程序,以便在綁定事件處理程序時保證元素存在。

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