带有 getElementByClassName 的 innerHTML 不起作用

2022-01-22 00:00:00 hover javascript html

这个有效:

<td onmouseover="document.getElementById('textbox').innerHTML='Hidden text'" onmouseout="document.getElementById('textbox').innerHTML='Show text'">
    <div id="textbox">Show text</div>
</td>

但是这个没有:

<td onmouseover="document.getElementByClassName('textbox').innerHTML='Hidden text'" onmouseout="document.getElementByClassName('textbox').innerHTML='Show text'">
    <div class="textbox">Show text</div>
</td>

我该如何解决这个问题?我需要一个类来多次使用它.

How can I fix this? I need a class to use it more than once.

推荐答案

没有getElementByClassName函数,只有一个getElementsByClassName 一个,因为可以有多个具有给定类的元素.

There's no getElementByClassName function but a getElementsByClassName one because there can be more than one element with a given class.

你可以替换

 document.getElementByClassName('textbox')

 document.getElementsByClassName('textbox')[0]

编辑您的问题:

此功能在 IE8 上不可用.如果你想在这个浏览器上使用它,你必须添加一个 shim,例如 this question.

This function isn't available on IE8. If you want to use it on this browser, you must add a shim, such the one which is described in this question.

相关文章