-1

ホバー時に要素の n 番目の子をターゲットにしようとしています。

私のhtmlはこれです....

<div class="parent">
     <div class="child1"></div>
     <div class="child2"></div>
     <div class="child3"></div>
</div>

現時点で.child3は ですdisplay:noneが、 にホバーすると.parent、すべてに不透明度を適用し、不透明度なしで表示したいと考えています.child3

これまでのところ、

$(".parent").hover(function() {
       $(this:nth-child(3)).show();
});

$(this)さまざまな製品を表示するページでマークアップが繰り返されるため、使用する必要があります。そのため、私がホバリングしている特定の製品だけをターゲットにしたいと考えています。

私は間違った木を吠えていますか?

ばかげた質問で申し訳ありませんが、やりたいことは正確にわかっていますが、それを実行することはできません!

4

3 に答える 3

2

使用できますfind

$(this).find('> :nth-child(3)').show(); 

フィドル

3 つのオプションすべてでJSPerf

ちなみに、対象要素の兄弟に div 以外の要素があり、3 番目の div を明示的に選択したい場合は、 を使用しますnth-of-type。この場合、nth-child は他のタイプの子も考慮するため失敗し、3 番目の div の前に表示される場合、3 番目の div は選択されません。

$(this).find('> div:nth-of-type(3)').show(); 
于 2013-07-03T03:47:37.920 に答える
1

こんな使い方もできます

$(".parent").hover(function() {

    $('> div:nth-child(3)', this).toggle();
});
于 2013-07-03T03:59:30.673 に答える