0

私は以下のような構造を持っています、

<div class="btheme">    
    <a href="/a1"><img src="/a1.jpg" /></a>
    <div class="caption">
         <div>image caption</div>
    </div>   
</div>


<div class="btheme">    
   <a href="/a3"><img src="/a3.jpg" /></a>
   <div class="caption">
       <div>image caption3</div>
   </div>   
</div>


<div class="btheme">    
   <a href="/a2"><img src="/a2.jpg" /></a>
   <div class="caption">
      <div>image caption2</div>
   </div>   
</div>

jqueryでキャプションを表示/非表示にするために以下のコードを使用しました。

<script type="text/javascript">

    jQuery(document).ready(function(){

         jQuery("div.btheme .img").mouseover(function(){
              jQuery(this).parent().find("div.caption").css('display','none');              
         });

         jQuery("div.btheme .img").mouseout(function(){
             jQuery(this).parent().find("div.caption").css('display','block');              
         });                
   });

  </script>

それは動作しません?。これどうやってするの?。

4

2 に答える 2

3

の前のドットを削除し.imgます。

また、キャプション div を選択するには、代わりにこれを使用します。

jQuery(this).closest("div.btheme").find("div.caption")...

jQuery(this).parent()間違っているアンカータグが表示されます。

更新: jsfiddle の作業コードは次のとおりです。

于 2012-05-02T05:48:11.190 に答える
1

だけimgではありません.img

jQuery("div.btheme img").mouseover(function(){
   jQuery(this).parent().next("div.caption").css('display','none');
});

jQuery("div.btheme img").mouseout(function(){
   jQuery(this).parent().next("div.caption").css('display','block');    
});
于 2012-05-02T05:48:43.770 に答える