2

メニューでマウスオーバーのホバー機能を使用しています。そのクラスを使用して特定の要素を選択しました。そのクラスのすべての要素ではなく、その要素のみに変更を加えるには、「this」を使用できます。しかし、そのクラス要素内のh3タグに変更を加えたいと思います。繰り返しますが、私がホバーしたものであり、そのクラス名を持つすべての要素ではありません。

'this'の後に>要素を使用しようとしましたが、機能しません。

それ、どうやったら出来るの?十分に説明できたと思います。コードの使用方法を理解していただければ幸いです。

$('.slide').hover(
    function(){
        $(this>'h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this>'h3').animate({
            height: '25px'
        });
    }
);

すべての回答に感謝します。ありがとう

4

6 に答える 6

4

内の要素.find()を取得するために使用します。<h3>this

$('.slide').hover(
    function(){
        $(this).find('h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this).find('h3').animate({
            height: '25px'
        });
    }
);

が直接の子である場合<h3>は、使用する方が少し効率的.children()です。

$(this).children('h3').animate({
于 2010-08-26T19:35:11.590 に答える
2

これを試して:

$(this).children('h3').animate();
于 2010-08-26T19:36:01.700 に答える
1

使用する:

$(this).find('h3')

または:

$(this).children('h3')
于 2010-08-26T19:35:28.080 に答える
1

$(this).find("h3")の代わりに試してください$(this>'h3')

于 2010-08-26T19:35:57.253 に答える
1

$(this).find('h3')を次のように使用する必要があります

  $('.slide').hover(
    function(){
        $(this).find('h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this).find('h3').animate({
            height: '25px'
        });
    }
);

または、.slideのすぐ下にあるh3:sのみが必要な場合は、次を使用できます。

$(this).children('h3')
于 2010-08-26T19:41:07.750 に答える
0

上記の答えはすべて正しいです。セレクターが機能しなかった理由は、プレーンな「this」キーワードが実際のDOM要素を指しているためです。jQueryメソッドを使用する前に、$(this)のように「this」をjQueryオブジェクト自体でラップする必要があります。

于 2010-08-26T19:54:47.357 に答える