私は以下を持っています(基本的にschedule_box
はラッパーであり、必要に応じてclient_schedule
個のdivがあります)。私は、デフォルトでは非表示.details
を持っている、と私は下向きの矢印をクリックしたときにdetails
を表示する:Jquery:DIV内の要素を見つける
<div class="schedule_box">
<div class="client_schedule">
<span class="edit">
<img src="images/manage_companies/down-icon.png" class="down">
</span>
<span class="details">
test
</span>
</div>
<div class="client_schedule">
<span class="edit">
<img src="images/manage_companies/down-icon.png" class="down">
</span>
<span class="details">
test
</span>
</div>
</div>
jQueryの(私は全体の接触ボックスを使用する場合、それが動作する):
$('.schedule_box').find('.details').hide().end().find('.down').click(function() {
}
私は
.down
を使用しようとすると、それは問題を抱えています
しかし、.details
を見つける:
$('.schedule_box').find('.details').hide().end().find('.down').click(function() {
var details = $(this).find('.details');
if (details.is(':visible')) {
details.slideUp();
} else {
details.slideDown();
}
});
明らかにそれはその子孫として
".details"
div要素を持っていません -
var details = $(this).parent('.client_schedule').find('.details');
クリックイベントハンドラ内this
は画像をクリックされているためです:あなたは、適切な".client_schedule"
親のdivのコンテキストでfind
を使用する必要が