2012-08-14 7 views
0

J'ai un lien hypertexte sur ma page. Je veux montrer une div quand je souris sur le lien hypertexte, et le cacher quand je souris.Afficher/masquer div onmouseover/onmouseout Javascript

Mon html:

<a onmouseover="showDiv(this)" onmouseout="hideDiv(this)"> 
    <img> 
    <div class="inner-block"> 
     Content 
    </div> 
</a> 

Javascript:

function showDiv(elem) { 
    elem.getElementsByTagName("div").style.visibility="visible"; 
} 

function hideDiv(elem) { 
    elem.getElementsByClassName("inner-block2").style.visibility="hidden"; 
} 

et CSS:

.inner-block { 
    visibility: hidden 
} 

J'ai essayé getElementsByTagName, getElementsByClassName, tout ce que j'essaie je reçois

Uncaught TypeError: Cannot set property 'visibility' of undefined 
+0

La fermeture de la balise div après? –

+0

Oui, la fermeture de l'étiquette est après la div – deakolt

Répondre

3

essayez ceci:

function showDiv(elem) { 
    elem.getElementsByTagName("div")[0].style.visibility="visible"; 
} 

function hideDiv(elem) { 
    elem.getElementsByTagName("div")[0].style.visibility = "hidden" 
} 

depuis getElementsByClassName ("intérieur-block2") retournera NodeList

+0

Je l'essaie et maintenant je reçois le problème: Uncaught TypeError: Impossible de lire la propriété 'style' de non défini – deakolt

+0

@deakolt j'ai fait un changement, essayez maintenant – Shreedhar

+0

J'apprécie vraiment votre aide, j'ai essayé ça. Maintenant, je reçois: Uncaught TypeError: Impossible d'appeler la méthode 'getElementsByTagName' de undefined au cours de l'événement mouseover – deakolt