首页 > 解决方案 > 在 javascript / typescript 中将 Element 转换为 HTMLElement

问题描述

因此,我使用 querySelectorAll 获取与选择器匹配的元素列表,该列表将它们存储在 NodeList 中。

然后,我使用 forEach 循环扫描 NodeList,此时每个 individualItem 的类型为“Element”。

但是,我将这些 individualItems 输入到函数“doThing()”中,该函数期望 individualItem 的类型为“HTMLElement”(我正在使用 typescript)。我想知道是否有一些内置的 js 函数用于将“Element”类型转换为“HTMLElement”类型,或者,如果没有,这样的函数可能是什么样的

const h = document.querySelectorAll(someClassString);

h.forEach(individualItem => {
            individualItem.addEventListener(c.EVENT, () => doThing(individualItem));
})    

标签: javascripttypescriptcastingnodelist

解决方案


既然您使用的是 TypeScript,为什么不将其转换为另一种类型呢?看这里

const h = document.querySelectorAll(someClassString);

h.forEach(individualItem => {
    individualItem.addEventListener(c.EVENT, () => doThing(individualItem as HTMLElement));
});

推荐阅读