2012-08-14 110 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