web-dev-qa-db-ja.com

プロパティ「checked」はタイプ「HTMLElement」に存在しません。

TypeScriptファイルにこのコードがあります

 function debug_show_removed_flights() {
    if ($('.debug-window #show_removed_flights')[0].checked) {
      $('.fly-schedule-removed_reason').show();
      return $('.fly-schedule-remove').show();
    } else {
      $('.fly-schedule-removed_reason').hide();
      return $('.fly-schedule-remove').hide();
    }
  };

しかし、この行では、エラーがあります。

if ($('.debug-window #show_removed_flights')[0].checked) {

[ts]プロパティ 'checked'はタイプ 'HTMLElement'に存在しません。

どうすれば修正できますか?

6
Balance

HTMLInputElementのみがcheckedプロパティを持っています。トランスパイルするように要素をキャストできます。

function debug_show_removed_flights() {
    const input = $('.debug-window #show_removed_flights')[0] as HTMLInputElement;
    if (input.checked) {
        $('.fly-schedule-removed_reason').show();
        return $('.fly-schedule-remove').show();
    } else {
        $('.fly-schedule-removed_reason').hide();
        return $('.fly-schedule-remove').hide();
    }
}
13
Cyril Gandon