0

私は何か簡単なことを目指してきました..しかし、最善のアプローチがわかりません。私はjQueryのドキュメントを準備しましたが、この場所は適切なアドバイスを提供しているため、ここで質問をパントします.

基本的にトラバースです。

簡単な例として、この最小限のコードがあるとします (同じページに複数の要素がある)。

<div class='collab'>
<div class='collab_text'>text</div><!--close collab_text-->
</div><!--close_collab-->

<div class='collab'>
<div class='collab_text'>text</div><!--close collab_text-->
</div><!--close_collab-->

collab_textjQueryでは、ホバーでフェードしたいだけです。ので、私は持っています:

$(".collab").hover(function(){
        $(".collab_text").fadeTo(700, 1.0);
    },function(){
        $(".collab_text").fadeTo(300,0.00001);                          
    });

これは明らかにcollab_text、1 つのアイテムにカーソルを合わせると、すべての要素のすべてが表示されます。だから私の質問は、ホバーされたものだけを表示する正しい方法は何ですかcollab_text.next()?, .find()?

私は自分のコードが次のようであることを知っています:

$(".collab").hover(function(){
            $(this).XXX(".collab_text").fadeTo(700, 1.0);
        },function(){
            $(this).XXX(".collab_text").fadeTo(300,0.00001);                            
        });

どんな情報でも大歓迎です。

ありがとう。

4

2 に答える 2

2

find、または$()コンテキストで使用できます

$(this).find(".collab_text").fadeTo(700, 1.0);

また

$('.collab_text', this).fadeTo(700, 1.0);

それらは両方とも等しいです:

内部的には、セレクター コンテキストは .find() メソッドで実装されるため、$('span', this) は $(this).find('span') と同等です。

http://api.jquery.com/jQuery/

于 2012-04-18T09:58:40.850 に答える
0

あなたの場合、私は使用しますchildren('.collab_text')

$(".collab").hover(function(){
    $(this).children(".collab_text").fadeTo(700, 1.0);
},function(){
    $(this).children(".collab_text").fadeTo(300,0.00001);                          
});​

例 - http://jsfiddle.net/edjQ7/

于 2012-04-18T10:00:52.730 に答える