'style' не существует в 'Element' при использовании строгой проверки типов - PullRequest
0 голосов
/ 01 июня 2018

Я использую код Visual Studio со строгой проверкой типов для 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"

Свойство 'style' не существует в типе 'Element'

Строго говоря, эта ошибка верна: Element не имеет свойства style, поэтому я не могу его настроить.

В Typescript, Java или C # есть возможность сообщить компилятору тип:

let btn = buttons[0] as HTMLElement

Есть ли способ в Javascript трактовать Element как HTMLElement?

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

В документации говорится, что метод .item () возвращает узел DOM.

Если IDE соответствует спецификации, тогда подход:

btn = menuButtons.item(0);
0 голосов
/ 01 июня 2018

Попробуйте:

btn.style("color", "red");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...