javascript - 试图通过 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
?我尝试将对象转换为数组,但到目前为止没有成功。
解决方案
你可以使用Array.from
.
例如返回每个元素的类:
Array.from(document.getElementsByTagName('h2')).map(elem => elem.className)
推荐阅读
- linux - On a PREEMPT_RT linux kernel, how can I modify threads (that were previously ran as interrupts) priority in the pre-compilation stage?
- php - How to explain this php floating point and integer comparison and printing problem?
- file - Is there a specific mime type for storing AES encrypted files?
- flutter - How to create an inner shadow for custom shape in Flutter?
- html - Adaptative height of cell of display:grid
- orientdb - Graph DB and Relations from Edges
- javascript - 如果元素包含值,则排序数组
- c# - SQL to LINQ 涉及多个 GroupJoin
- django - Creating a Formset which relates to Custom User (AbstractUser)
- windows - 如何捕捉开始拖动窗口和释放窗口捕捉的动作?