2012-07-27 24 views
0

我希望它能像這樣工作http://jsfiddle.net/jfriend00/JrhNz/6/,而不是css類我有ID。.slideToggle()在一個段落,而不是所有其他人使用相同的ID

試圖用id而不是css類修改我的代碼,它不起作用。

我的代碼:

echo "<tr> 
     <td> 
      <p class=\"question\" id=\"question\">".$rand['nume']."</p> 
      <p class=\"answer\" id=\"answer\">".$rand['rasp']."</p> 
     </td> 
     </tr>"; 

$(document).ready(function(){ 
    $("#question").click(function(){ 
     var prev = $(this).prev("p#answer"); 
     $(this).siblings("p#answer").not(prev).slideUp("slow"); 
     prev.slideToggle("slow"); 
    }); 

    $("p#answer").click(function(){ 
     $(this).siblings("p#answer").slideUp("slow"); 
     $(this).slideToggle("slow"); 
    }); 
});​ 
+2

「有相同的ID」?沒有元素應該具有與另一個ID相同的ID。 – Blazemonger 2012-07-27 16:41:14

+1

不要治療症狀,治療原因 - 默認情況下,不應重複ID。 – 2012-07-27 16:42:15

+0

是的,ID必須是唯一的。替換這些ID並改爲使用名稱屬性。 http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 – Matthew 2012-07-27 16:45:58

回答

0

在你的代碼爲目標的類別在所有點替換"p#answer""p.answer"

沒有元素應該與另一個元素具有相同的ID。如果頁面上的兩個或更多元素具有相同的ID,則JavaScript將始終停在第一個元素上,而忽略其餘元素。

+0

它的工作,但現在當我點擊問題時,段落向上滑動,他們不會滑下來,我再次點擊一個問題。 – Alex 2012-07-27 17:01:58

+0

把它放在小提琴裏 – Huangism 2012-07-27 17:23:36

相關問題