2

リンクがホバーされたときに表示するdivを取得しようとしています。

複数のクラスも存在するため、最も近いクラスのみが表示されます。

これは私がしようとしているものです:

$(".box").hover(function() {
    $('.overlay').closest.show();
});

<div class="event" id="selector">                                       
    <a class="box" href="#" title="">Event</a>      
    <div class="overlayOuter">    
        <div class="overlayInner"></div>    
    </div>    
    <div class="overlay" style="display:none;"> I will come out when class Box is covered 
    </div>    
</div>  

ホバーすると表示されclass="box"ますclass="overlay"

問題は、オーバーレイが表示されないことです。私のjqueryが間違っていると思いますか?

どうすればこれを機能させることができますか?

4

4 に答える 4

7

これを試してください。オーバーレイは親ではなく、兄弟です。closest() は最も近い親を取得します

   $(this).siblings('.overlay').show();
于 2013-09-27T09:10:05.660 に答える
3

これを試して:

$(this).siblings('.overlay').show();
于 2013-09-27T09:10:02.590 に答える
3

overlayは祖先要素ではなく、兄弟要素であるため、 .siblings() を使用する必要があります

$(".box").hover(function() {
    $(this).siblings('.overlay').show()
})
于 2013-09-27T09:10:15.510 に答える
2

現在のケースoverlayでは兄弟でありclosest、最も近い親を取得します。

最も近い

セット内の各要素について、要素自体をテストし、DOM ツリー内のその祖先をたどって、セレクターに一致する最初の要素を取得します。

兄弟

一致した要素のセット内の各要素の兄弟を取得します。オプションでセレクターによってフィルター処理されます。

コード:

$(".box").hover(function() {
    $(this).siblings('.overlay').show();
});

デモ: http://jsfiddle.net/IrvinDominin/tJr2e/

于 2013-09-27T09:11:03.407 に答える