2012-08-14 96 views
0

我在我的页面上有超链接。当我将鼠标悬停在超链接上时,我想显示div,并在鼠标悬停时将其隐藏。显示/隐藏div onmouseover/onmouseout Javascript

我的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"; 
} 

和CSS:

.inner-block { 
    visibility: hidden 
} 

我试过的getElementsByTagName,getElementsByClassName方法,无论我尝试,我得到

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

是A标签的该div后关闭? – 2012-08-14 16:56:29

+0

是的,关闭的标签是在div- – deakolt 2012-08-14 16:57:37

回答

3

试试这个:

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

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

因为getElementsByClassName方法( “内块2”)将返回节点列表

+0

后面我试试这个,现在我得到的问题:未捕获TypeError:无法读取属性'风格'未定义 – deakolt 2012-08-14 17:00:10

+0

@deakolt我做了一个改变,现在尝试 – Shreedhar 2012-08-14 17:07:49

+0

我真的很感激你的帮助,我尝试过。现在我得到:Uncaught TypeError:无法在mouseover事件期间调用未定义的方法'getElementsByTagName' – deakolt 2012-08-14 17:19:58