2017-05-26 79 views
0

不工作我有一個HTML的結構是這樣的:選擇元素的jQuery

<div class="container"> 
    <dt class="odd">...</dt> 
    <dd class="odd">...</dd> 
    <dt class="even">...</dt> 
    <dd class="even">...</dd> 
    <dt class="odd">...</dt> 
    <dd class="odd">...</dd> 
    <dt class="even">...</dt> 
    <dd class="even">...</dd> 
</div> 

上面的內在張力結構有dt帶班奇和dt帶班甚至,我要的是當我帶班奇下一dd帶班奇將顯示或隱藏短聲的dt,但問題是我的點擊功能的DD不點火所有,下面的代碼:

$("dt.odd").click(function() { 
    alert('odd'); 
    $(this).parent().next('dd.odd').show(); 
}); 
+0

檢查控制檯是否有錯誤..你有沒有包含jQuery?代碼看起來很好,併爲我工作.. – Rayon

+0

沒有任何錯誤,我已經包括了jquery,當我改變點擊功能的選擇器只有'$('dt')。點擊'沒有奇怪它觸發點擊功能 –

+0

你動態添加元素? – Rayon

回答

1

試試這個,可能是這將幫助ü

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<style> 
 
dt{ 
 
\t display:block; 
 
} 
 
dd{ 
 
\t display:none; 
 
} 
 
</style> 
 
<script> 
 
$(document).ready(function(){ 
 
$("dt.odd").click(function() { 
 
    $(this).next().show(); 
 
}); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 
<div class="container"> 
 
    <dt class="odd">...</dt> 
 
    <dd class="odd">...</dd> 
 
    <dt class="even">...</dt> 
 
    <dd class="even">...</dd> 
 
    <dt class="odd">...</dt> 
 
    <dd class="odd">...</dd> 
 
    <dt class="even">...</dt> 
 
    <dd class="even">...</dd> 
 
</div> 
 
</body> 
 
</html>

+0

@GaneshPutra謝謝,它包裝在文檔就緒功能它的作品 –

0
$("dt.odd").click(function() { 
    alert('odd'); 
    $(this).next().show(); 
}); 
0

如果你想顯示和對DT點擊隱藏各自DD,那麼你可以使用下面的代碼片段:

$("dt.odd").click(function() { 
    $(this).next().toggle(); 
}); 

當你點擊DT它會顯示下一DD,如果不可見的,反之亦然