codesw1tch
codesw1tch

Reputation: 720

Show/hide div onmouseover/onmouseout Javascript

I have a hyperlink on my page. I want to show a div when I mouse over the hyperlink, and hide it when I mouseout.

My 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";
}

and CSS:

.inner-block {
    visibility: hidden
}

I've tried getElementsByTagName, getElementsByClassName, whatever I try I get

Uncaught TypeError: Cannot set property 'visibility' of undefined

Upvotes: 0

Views: 8595

Answers (1)

Shreedhar
Shreedhar

Reputation: 5640

try this :

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

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

since getElementsByClassName("inner-block2") will return NodeList

Upvotes: 3

Related Questions