在 javascript / typescript 中将元素转换为 HTMLElement

Converting Element to HTMLElement in javascript / typescript

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

然后我使用 forEach 循环扫描 NodeList,此时每个 individualItem 的类型都是 "Element"。

但是,我将这些 individualItems 提供给函数 "doThing()",该函数期望 individualItem 的类型为 "HTMLElement"(我使用的是打字稿)。我想知道是否有一些内置的 js 函数可以将 "Element" 类型转换为 "HTMLElement" 类型,或者,如果没有,这样的函数看起来像什么

const h = document.querySelectorAll(someClassString);

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

既然你用的是TypeScript,为什么不把它转换成另一种类型呢?看看吧here

const h = document.querySelectorAll(someClassString);

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

要键入 querySelectorAll 的输出,您可以这样做:

document.querySelectorAll<HTMLTableElement>('.mytable')