2013-10-27 33 views
3

我想爲常見問題創建一個頁面,並使用jQuery來顯示每個答案。但它不起作用。
每個問題回答的格式是這樣的:爲什麼jQuery下一個找不到下一個div?

<div><a href="javascript:void(0)" class="expand">First Question</a></div> 
<div class="answer" style="display:none">First Answer</div> 

而且,我已經使用了jQuery代碼:

$(".expand").click(function(){ 
    $(this).next('.answer').slideToggle(); 
}); 

是不是錯了?您也可以看到其jsFiddle

回答

19

這兩個元素與next()的工作不在同一級別。

試試這個:

$(".expand").click(function(){ 
    $(this).parent().next('.answer').slideToggle(); 
}); 

這裏是供您參考

+0

謝謝@Karthikr ... –

+0

高興它幫助.. – karthikr

+0

如何使用選擇這個 - http://jsfiddle.net/8HH9L/4/我想在按鈕後隱藏表格中的選定行... – Ninad

3

因爲jQuery.next()抓住兄弟姐妹,你試圖得到的div是父母的兄弟姐妹,而不是兄弟姐妹。

2

那麼$(這)一個updated fiddle是一個元素,而且沒有兄弟姐妹該元素。如果你想在div,使用父:

$(this).parent().next()