我的页面上有一个超链接。当我将鼠标悬停在超链接上时,我想显示一个div,当我将鼠标悬停时,将其隐藏。

我的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

最佳答案

尝试这个 :

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

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


因为getElementsByClassName(“ inner-block2”)将返回NodeList

10-02 13:49
查看更多