在 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')
因此,我使用 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')