首页 > 解决方案 > 试图通过 reactjs 中的 document.getgetElementsByTagName 进行映射

问题描述

我试图在运行时映射生成的对象document.getElementsByTagName。我意识到我无法映射对象,只能映射数组,但我无法弄清楚如何将其转换为对象以使其可迭代。

我的代码如下所示:

const [h2, setH2] = useState([]);

const getH2 = () => {
setH2(document.getElementsByTagName("h2"));
console.log(h2)
  }

这给了我以下结果: 控制台日志

试图通过 h2 映射返回错误:

TypeError: h2.map is not a function

我也试过h2.HTMLCollection.map(),但它抛出了同样的错误。

我怎样才能通过结果映射docuemnt.getElementsByTagName?我尝试将对象转换为数组,但到目前为止没有成功。

标签: javascriptarraysreactjsobjectgetelementbyid

解决方案


你可以使用Array.from.

例如返回每个元素的类:

Array.from(document.getElementsByTagName('h2')).map(elem => elem.className)

推荐阅读