首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTMLCollection输出所有项目

从HTMLCollection输出所有项目
EN

Stack Overflow用户
提问于 2019-08-17 15:33:42
回答 1查看 49关注 0票数 1

我有一个从字符串转换而来的HTMLCollection

代码语言:javascript
复制
let el = document.createElement('html');

el.innerHTML = data; // This data is my HTML string

let allArtistTiles = el.getElementsByClassName('artistTile');

console.log(allArtistTiles); // I used this to check I see the HTML Collection

let artistsPlaceholder = document.getElementById('artistsPlaceholder')

artistsPlaceholder.innerHTML = allArtistTiles

这是我不确定的最后一句话。如何实际显示HTMLCollection中的所有元素?我必须遍历HTMLCollection吗?另外,是否有必要将HTMLCollection转换为数组?

EN

回答 1

Stack Overflow用户

发布于 2019-08-17 16:05:10

artistsPlaceholder.innerHTML = allArtistTiles;无法工作,因为innerHTML设置器需要一个字符串。您需要追加这些项。在现代浏览器中,您可以使用

代码语言:javascript
复制
artistsPlaceholder.append(...allArtistTiles);

它需要同时支持spreadappend

或者,您可以编写

代码语言:javascript
复制
Array.from(allArtistTiles).forEach((elem) => artistsPlaceholder.appendChild(elem));

它使用Array.from (可由Array.prototype.slice.call替代)、forEacharrow functions (可由常规函数替代)。

如果你打算使用for循环,仍然建议循环遍历数组(例如来自Array.prototype.slice.call(allArtistTiles)),以避免unexpected HTMLCollection behavior

不一定要将HTMLCollection转换为Array,但Array更易于使用。

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

https://stackoverflow.com/questions/57534254

复制
相关文章

相似问题

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