带有getElementByClassName的innerHTML不起作用 [英] innerHTML with getElementByClassName doesn't work
问题描述
< td onmouseover =document.getElementById('textbox')。innerHTML ='Hidden text'onmouseout =document.getElementById('textbox')。innerHTML ='显示文本'>
< div id =textbox>显示文字< / div>
< / td>
但这不是:
<$ ('textbox')。innerHTML ='隐藏文字'onmouseout =document.getElementByClassName('textbox')。innerHTML ='显示文字' >
< div class =textbox>显示文字< / div>
< / td>
我该如何解决这个问题?我需要一个类多次使用它。
没有 getElementByClassName
function但是 getElementsByClassName
,因为可以有多个元素给定类。
您可以替换
document.getElementByClassName('textbox')
with
document.getElementsByClassName('textbox')[ 0]
编辑您的问题后编辑:
此功能在IE8上不可用。如果您想在此浏览器上使用它,您必须添加一个填充程序,例如此问题。
This one works:
<td onmouseover="document.getElementById('textbox').innerHTML='Hidden text'" onmouseout="document.getElementById('textbox').innerHTML='Show text'">
<div id="textbox">Show text</div>
</td>
But this one doesn't:
<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.
There's no getElementByClassName
function but a getElementsByClassName
one because there can be more than one element with a given class.
You could replace
document.getElementByClassName('textbox')
with
document.getElementsByClassName('textbox')[0]
EDIT following the edit of your 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.
这篇关于带有getElementByClassName的innerHTML不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!