2011-09-28 62 views
1

我有一個交替行的課程名稱和課程描述的表。下面是一些HTML(我環通)的:在jQuery的一個類中選擇下一個實例

<tr> 
    <td><a class="course_name_click" href='#'><%= course.name %></a></td> 
</tr> 

<tr class="course_descrip" height="200"> 
    <td style="word-wrap: break-word" width="10"><%= course.descrip %></td> 
</tr> 

我想使它所以,當球場上的名稱的用戶點擊,課程描述滑動切換上下。但我無法找到正確的選擇器課程描述,它出現在單擊的課程名稱之後。我試過了一堆$(this)和.next()的不同組合,但似乎沒有任何工作。這裏是我的jQuery至今:

$('.course_name_click').click(function() { 
    $('tr.course_descrip').slideToggle('slow'); 
    return false; 
    }); 

按照上面出現,點擊任何課程名稱滑動開關tr.course_descrip的每一個實例。我只希望它滑動切換單擊課程名稱後顯示的實例。

回答

4
$('.course_name_click').click(function() { 
    $(this).closest('tr').next().slideToggle('slow'); 
    return false; 
}); 
+0

真棒,謝謝! – jyli7

0

這是因爲$(this).next()得到被點擊的<a/>的下一個兄弟,這不算什麼。你必須得到它的父親的父親(的<tr/>),然後進行下一步上:

$('.course_name_click').click(function() { 
    $(this).parent().parent().next().slideToggle('slow'); 

    return false; 
}); 

這裏是它的一個jsFiddle工作。

編輯:馬特的答案可能讓更多的語法意義不是做.parent().parent()

+0

非常豐富,謝謝。 – jyli7