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() - 不是一个函数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
兼容性比较好的getElementsByClassName函数
IE浏览器下getElementsByClassName()属性的使用
比较 document.getElementsByClassName().innerHTML 和 int