2017-06-27 5 views
0

J'essaye d'animer un div à l'intérieur d'une balise de lien.Essayer d'accéder à un div à partir d'une ancre avec une fonction jQuery en utilisant "this"

HTML:

<li><a href="#">INFO <div></div></a></li> 

J'utilise une fonction jQuery comme pour ainsi déterminer lequel des liens est en cours interagi avec.

function slideMenu(e) { 

    if(e.type === "mouseover"){ 
    console.log("mouseover"); 
    //console.log(this > bgColor); 

    // TweenMax.to($(this > div) , 1, {height:200}); 
    } 
    else if(e.type === "mouseout"){ 
    console.log("mouseout"); 
    } 
    else if(e.type === "click"){ 
    console.log("click"); 
    } 

} 

$(".menu a").click(slideMenu); 

$(".menu a").mouseover(slideMenu); 

$(".menu a").mouseout(slideMenu); 

Je suis en train d'utiliser GreenSock et de saisir le div à l'intérieur de la balise d'ancrage et changer la hauteur, mais il ne semble pas être me donner accès à cette balise div.

+2

Essayez '$ (this) .Find ('> div')'? – evolutionxbox

Répondre

2

Le div est un enfant de l'élément binded avec $(this). Vous pouvez utiliser le .find() pour le cibler.

$("a").on("click",function(e){ 
 
    e.preventDefault(); 
 
    $(this).find("div").html("I'm here!"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<ul> 
 
    <li><a href="#">INFO <div>Click me.</div></a></li> 
 
</ul>

0

@evolutionxbox mettre la réponse dans les commments, utilisez:

$(this).find('> div') 

Assurez-vous que vous avez une classe .menu dans un élément parent de <a>

0

Si possible, vous pouvez simplement ajouter un identifiant que div et trouver de cette façon.

Sinon, vous pouvez utiliser .children('div')