使用严格类型检查时,'Element'上不存在'style'

时间:2018-06-01 10:39:32

标签: javascript visual-studio-code

我正在使用Visual Studio Code,使用jsconfig.json

对Javascript进行严格的类型检查

jsconfig.json

{
    "compilerOptions": {
        "checkJs": true
    }
}

现在,当我使用document.getElementsByClassName()时,我无法设置我想要的所有属性 - 因为该函数返回Element而不是HTMLElement

main.js

let buttons = document.getElementsByClassName("button")
let btn = buttons[0]
btn.style.color = "red"
  

“元素”类型

上不存在属性“样式”

严格地说这个错误是正确的:Element没有样式属性,所以我无法调整它。

在Typescript,Java或C#中,可以选择告诉编译器类型:

let btn = buttons[0] as HTMLElement

Javascript中是否有办法将Element视为HTMLElement

2 个答案:

答案 0 :(得分:-1)

试一试:

{{1}}

答案 1 :(得分:-1)

documentation说,.item()方法返回一个DOM节点。

如果IDE遵循规范,那么方法是:

btn = menuButtons.item(0);