getElementsByClassName() - 不是一个函数[关闭]

Posted

技术标签:

【中文标题】getElementsByClassName() - 不是一个函数[关闭]【英文标题】:getElementByClassName() - is not a function [closed] 【发布时间】:2017-11-10 22:42:32 【问题描述】:

我希望下面的代码将 Random1 和 Random2 更改为 Random,但它没有做任何事情。当我在 chrome 中检查开发人员工具时,它显示“document.getElementByClassName 不是函数”。任何帮助将不胜感激。

我的 html

<h3 class="Rand"><i>Random1 </i></h3>
<h3 class="Rand">Random2</h3>

我的 javascript

var elems = document.getElementByClassName('Rand');     
for(var i = 0; i <= elems.length; i++)

elems[i].innerHTML = "Random";

【问题讨论】:

getElementsByClassName 它是getElementsByClassName,它返回一个节点列表 如果您的 IDE 设置正确,它应该会为您指出这一点。 如果发现某个函数不存在,最好先查看文档。请看developer.mozilla.org/en-US/docs/Web/API/Document#Methods 【参考方案1】:

您应该使用getElementsByClassName 而不是使用getElementByClassName。看来你拼错了。

【讨论】:

有一个专门针对错别字的投票。 @Phil 我应该删除这个吗?? @phil 我认为它与 getElementById 的语法相同,这就是为什么我不费心添加's'【参考方案2】:

好像是你以前调用的未定义函数

基于类的选择返回一个对象数组,这是因为多个元素具有相同的类,所以函数应该是getElementsByClassName,而不是你使用getElementByClassName如果它是用于Id选择器getElementById就足够了,因为只有实例可能在 DOM 中

【讨论】:

以上是关于getElementsByClassName() - 不是一个函数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

IE8 兼容 getElementsByClassName

兼容性比较好的getElementsByClassName函数

IE浏览器下getElementsByClassName()属性的使用

比较 document.getElementsByClassName().innerHTML 和 int

尝试 GetElementsByClassName [关闭]

JS兼容getElementsByClassName