2017-01-17 18 views
0

アイテムにクラス 'hasDetails'がある場合、カーソルがリストのアイテムにあるときにのみ表示される詳細ブロックを作成しようとしています。私は 'mouseover'と 'mouseenter'を使ってみましたが、どちらもうまくいきませんでした。私はなぜこれが動作していないのか理解できません。誰でも助けてくれますか?特定のクラスを持つmouseoverアイテムの詳細を表示

jQueryの

$(document).ready(function() { 
     $('#list').find('.listItem').mouseover(function(){ 
      if($(this).hasClass('hasDetails')) { 
       $('#details').css("display", "table"); 
      }; 
     }); 
    }); 

HTML

<div id="details"> 
     <p>Details</p> 
    </div> 

    <ul id="list"> 
     <li class="listItem hasDetails"> 
      <p>ITEM</p> 
     </li> 
     <li class="listItem"> 
      <p>ITEM</p> 
     </li> 
     <li class="listItem hasDetails"> 
      <p>ITEM</p> 
     </li> 
     <li class="listItem"> 
      <p>ITEM</p> 
     </li> 
     <li class="listItem"> 
      <p>ITEM</p> 
     </li> 
    </ul> 

CSSここで

.details{ 
     display: none; 
    } 
+0

あなたのCSSが '#details'か' .details'なのかどうか分かりませんか?または私はあなたがすでにあなたの問題を修正したと仮定しました – Roljhon

答えて

1
$(document).ready(function() { 
     $('#list').find('.listItem').mouseover(function(){ 
      if($(this).hasClass('hasDetails')) { 
       $('#details').show(); 
      }; 
     }); 
    }); 
0

はあなたの問題です: $('#details').css("display", "table");

あなたがクラスのときにIDをターゲットにしています;)

+0

実際に私は間違って私の質問でそれを書いた、ごめんなさい –

関連する問題