Первый: извините за этот неточный заголовок. Я проясню вопрос.
В моей компании мы разрабатываем веб-приложения, используя TypeScript / React / JavaScript. Я использую VS Code как IDE с включенным tslint. Я продолжаю работу бывшего сотрудника.
В переменной хранится HTMLElement , и для него вызывается функция querySelector. Намерение состоит в том, чтобы получить элемент / тег с идентификатором «someID» и получить значение «offsetTop» этого элемента:
// elem is the HTMLElement
const tmp = elem.querySelector('[id=" + someID + "');
const offset_top = tmp.offsetTop;
В VS Code tslint выдает ошибку «Свойство offsetTop не существует для типа« Элемент ».» Это связано с тем, что querySelector возвращает элемент типа Element, но свойство HTTLElement определено для свойства offsetTop.
Теперь, когда я использую отладчик Chrome, разбить строку 'const tmp = ...' и показать свойства 'tmp', перемещая указатель мыши над переменной, он показывает свойство 'offsetTop'.
Почему?
Заранее спасибо
Редактировать
Мое решение сейчас:
const offset_top = tmp.firstChild.parentElement.offsetTop;
, который работает, но мне все еще очень интересно, почему отладчик firefox показывает это свойство.