首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法访问HTMLCollection

我无法访问HTMLCollection
EN

Stack Overflow用户
提问于 2018-12-26 10:50:28
回答 2查看 1.7K关注 0票数 2

使用getElementsByClassName时无法访问HTMLCollection类型。

我想要得到长度,但我不能得到

代码语言:javascript
复制
var documentHeader = parent.document.all['header'];
var motionClass = documentHeader.getElementsByClassName('motion');

这是motionClass的结果

代码语言:javascript
复制
HTMLCollection []
 0: div.motion
 length: 1
 __proto__ : HTMLColletion

如果我访问长度结果为0

如何解决此问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-26 11:39:45

为了提供一种更现代的方法--使用documentQuerySelectorAll()获取集合--然后可以迭代给出每一项--或者给出集合的长度。

代码语言:javascript
复制
let motions = document.querySelectorAll('.motion');
console.log(motions.length); // gives 5
console.log(motions[2].textContent); // gives "3" - the text content of that element
代码语言:javascript
复制
<div class='motion'>1</div>
<div class='motion'>2</div>
<div class='motion'>3</div>
<div class='motion'>4</div>
<div class='motion'>5</div>

票数 2
EN

Stack Overflow用户

发布于 2018-12-26 11:34:59

注意:在这里,当DOM就绪时,我们将安全地执行代码。确保你正在做这件事。

代码语言:javascript
复制
document.addEventListener('DOMContentLoaded', function() {
  let motionArray = document.getElementsByClassName('motion');
  console.log(motionArray.length);
});
代码语言:javascript
复制
<div class='motion'>test</div>
<div class='motion'>test</div>
<div class='motion'>test</div>
<div class='motion'>test</div>
<div class='motion'>test</div>
<div class='motion'>test</div>
<div class='motion'>test</div>

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53926973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档