【发布时间】:2015-07-10 03:33:33
【问题描述】:
我正在尝试使用以下代码循环通过 JavaScript 的 .children 属性生成的 HTMLCollection:
var articles = data.children;
var newsGrid = document.getElementById('js-news__grid');
for (var i = 0; i < articles.length; i++) {
articles[i].classList.add('loading');
newsGrid.appendChild(articles[i]);
};
data 变量是成功 XHR 的一个片段。当我运行循环时,它只附加第一个孩子并且循环结束,当在循环之前运行console.log(articles); 时,它显示 2 个 HTML 元素(就像它应该的那样)但只有 1 的长度。如果我删除循环并运行console.log(articles);,它会像以前一样显示 2 个 HTML 元素,但它现在的长度为 2。
为了简单起见,我省略了我的 XHR 代码,因为从 data.children 生成的 HTMLCollection 看起来是正确的。以下是日志消息:
[article.news__item, article.news__item]
0: article.news__item
1: article.news__item
length: 2
__proto__: HTMLCollection
[article.news__item, article.news__item]
0: article.news__item
length: 1
__proto__: HTMLCollection
【问题讨论】:
标签: javascript loops xmlhttprequest children