2 votes

Problème de sélecteur jQuery ?

J'utilise la fonction de survol de la souris dans un menu. J'ai sélectionné un élément particulier en utilisant sa classe. Pour apporter des modifications uniquement à cet élément et non à tous les éléments avec cette classe, je peux utiliser 'this'. Mais je veux apporter des modifications à la balise h3 à l'intérieur de cet élément de classe. Encore une fois, celle que j'ai survolée et pas tous les éléments avec ce nom de classe.

J'ai essayé d'utiliser l'élément > après "this", mais cela ne fonctionne pas.

Comment je fais ça ? J'espère que j'ai expliqué suffisamment bien. J'espère que vous comprenez en utilisant le code.

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

Toutes les réponses sont appréciées. Merci

4voto

user113716 Points 143363

Vous utilisez .find() pour obtenir le <h3> élément à l'intérieur this .

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

Si le <h3> est un enfant direct, il est un peu plus efficace d'utiliser la fonction .children() :

$(this).children('h3').animate({

2voto

Aaron Points 395

Essayez ça :

$(this).children('h3').animate();

1voto

Sarfraz Points 168484

Utilisez :

$(this).find('h3')

Ou :

$(this).children('h3')

1voto

David Points 181

Essayez $(this).find("h3") au lieu de $(this>'h3') .

1voto

Jonatan B Points 78

Vous devriez utiliser $(this).find('h3') comme dans

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

ou si vous voulez seulement les h3:s directement sous .slide vous pouvez utiliser

$(this).children('h3')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X