我有以下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。
答案 0 :(得分:2)
valueAsDate
仅在HTMLInputElement
上受支持,而且TypeScript不知道txtCreateGroupExpirationDate
是什么类型的元素。使用类型断言来更改表达式的类型:
(<HTMLInputElement>document.getElementById('txtCreateGroupExpirationDate')).valueAsDate = now;