【发布时间】:2021-11-30 13:17:51
【问题描述】:
我有如下代码。它工作得很好,但 TypeScript 告诉我: 类型“ChildNode”类型脚本上不存在属性“样式”。这个错误
const allCoins = Array.from(document.querySelectorAll('li')))
const xs = !useMediaQuery(theme.breakpoints.down('xs'))
const md = !useMediaQuery(theme.breakpoints.down('sm'))
allCoins.map((coins) => {
if (coins.offsetHeight >= 53 && xs && !md) {
allCoins.map((coin) => {
coin.childNodes[0].childNodes[2].style.flex = '1 0 100%'
coin.childNodes[0].childNodes[2].style.marginLeft = '-3px'
})
} else {
allCoins.map((coin) => {
coin.childNodes[0].childNodes[2].style.flex = 'unset'
coin.childNodes[0].childNodes[2].style.marginLeft = '0'
})
}
})
我尝试了我在 Stack and Fit 上看到的所有解决方案,但没有一个适合我。
【问题讨论】:
-
childNodes里面有childNodes吗?你能提供更多信息吗?像硬币对象的结构
-
@SimaAmini 是的。结构如下:ul -> li -> div -> div
-
好吧,我终于找到了解决方案(coin.childNodes[0].childNodes[2] as HTMLElement)对我有用
-
您应该发布一个完整的代码示例,发布您的答案,并接受您自己的答案,以便为未来的读者提供完整的参考点
标签: reactjs typescript dom