0

ページにハイパーリンクがあります。ハイパーリンクの上にマウスを置くと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
4

1 に答える 1

3

これを試して :

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

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

getElementsByClassName( "inner-block2")はNodeListを返すため

于 2012-08-14T16:56:36.777 に答える