我有以下Javascript代码:
var now = new Date();
now.setDate(now.getDate() + 7);
document.getElementById('txtCreateGroupExpirationDate').valueAsDate = now;
当我将此代码放入TypeScript文件中时,TypeScript会出现以下错误:
属性“ valueAsDate”在类型“ HTMLElement”上不存在
我的Javascript工作正常,并且
valueAsDate
是合法的属性,如Mozilla Developer Network所定义。此外,您可以看到在Microsoft Typescript Core中定义了此属性。那我为什么会收到这个错误?我正在使用Typescript 2.0。
最佳答案
valueAsDate
仅在HTMLInputElement
上受支持,而TypeScript不知道txtCreateGroupExpirationDate
是哪种元素。使用类型断言来更改表达式的类型:
(<HTMLInputElement>document.getElementById('txtCreateGroupExpirationDate')).valueAsDate = now;