“HTMLElement”类型上不存在“已检查”属性。
Posted
技术标签:
【中文标题】“HTMLElement”类型上不存在“已检查”属性。【英文标题】:Property 'checked' does not exist on type 'HTMLElement'. 【发布时间】:2018-09-07 04:03:20 【问题描述】:我在打字稿文件中有这段代码
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] 类型“htmlElement”上不存在属性“checked”。
我该如何解决?
【问题讨论】:
【参考方案1】:只有HTMLInputElement
具有选中的属性。你可以转换你的元素,这样它就会转译:
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();
【讨论】:
【参考方案2】:添加HTMLInputElement
inline 如下
function debug_show_removed_flights()
const input = $('.debug-window #show_removed_flights')[0];
if ((input as HTMLInputElement).checked)
$('.fly-schedule-removed_reason').show();
return $('.fly-schedule-remove').show();
else if (!(input as HTMLInputElement).checked)
$('.fly-schedule-removed_reason').hide();
return $('.fly-schedule-remove').hide();
【讨论】:
以上是关于“HTMLElement”类型上不存在“已检查”属性。的主要内容,如果未能解决你的问题,请参考以下文章
useRef Typescript 错误:“HTMLElement”类型上不存在属性“当前”
TS2339:“JQuery<HTMLElement>”类型上不存在属性“selectpicker”