2013-06-03 94 views
0

好吧,基本上我創建了一個在站點上多次使用的前十名單。不過,我希望列表中的內容在點擊數字時被隱藏並一一揭示。但是,單擊第一個數字會導致整個列表展開。這裏是JQuery的:需要幫助多次調用一個JQuery函數,而不必爲每個選擇器提供一個函數

$(document).ready(function(){ 
     $("#articletext h2").click(function(){ 
      $(".revealTitle").fadeIn(); 
      $(".revealText").slideDown(); 
    }); 
}); 

下面是HTML:

<h2>10. <span class="revealTitle">The Title To Fade In On Click</span></h2> 

<span class="revealText">The Text to Slide Down On Click</span> 

所以,我希望它做的是:

  • 當點擊數(即10)只有這些數字揭示了標題和揭示文字出現。
  • 同樣當點擊下一個數字(即9)9.顯示標題和顯示文字出現。

在此先感謝。

回答

0

使用上下文選擇

這將確保只有要素與.revealText.revealTitle中搜索在當前上下文中(這裏是被點擊的h2元素)

$(".revealTitle", this).fadeIn(); 
$(this).nextAll(".revealText").first().slideDown(); 
+0

適用於$(「。revealTitle」,this).fadeIn();但不適用於$(「。revealText」,this).slideDown(); – Kflap

+0

'$(「。revealText」,this).slideDown();'不工作,因爲它不是'h2'的後代檢查更新代碼 –

+0

非常感謝。真的很感謝有用和快速的幫助。 – Kflap

0

使用$(this)選擇和find方法來定位正確孩子:

$(document).ready(function(){ 
    $("#articletext h2").click(function(){ 
      $(this).find(".revealTitle").fadeIn(); 
      $(this).find(".revealText").slideDown(); 
    }); 
}); 
+0

這樣做:$(this).find(「。revealTitle」)。fadeIn(); 這沒有:$(this).find(「。revealText」)。slideDown(); – Kflap

相關問題