首页 > 解决方案 > 使用严格类型检查时,“元素”上不存在“样式”

问题描述

我正在使用 Visual Studio Code 对 Javascript 进行严格的类型检查jsconfig.json

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

标签: javascriptvisual-studio-code

解决方案


试试看:

btn.style("color", "red");

推荐阅读