javascript - Typescript 在 valueAsDate 上抛出错误

标签 javascript typescript

我有以下 Javascript 代码:

var now = new Date();
now.setDate(now.getDate() + 7);
document.getElementById('txtCreateGroupExpirationDate').valueAsDate = now;

当我将此代码放入 TypeScript 文件中时,TypeScript 会发出以下错误:

Property 'valueAsDate' does not exist on type 'HTMLElement'

我的 Javascript 工作正常,并且 valueAsDate 是合法属性(property),如 Mozilla Developer Network 所定义。 。另外,可以看到这个属性是在Microsoft Typescript Core中定义的。 .

那么为什么我会收到此错误?我正在使用 Typescript 2.0。

最佳答案

valueAsDate 仅在 HTMLInputElement 上受支持,TypeScript 不知道 txtCreateGroupExpirationDate 是什么类型的元素。使用类型断言来更改表达式的类型:

(<HTMLInputElement>document.getElementById('txtCreateGroupExpirationDate')).valueAsDate = now;

关于javascript - Typescript 在 valueAsDate 上抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409238/

相关文章:

javascript - 从对象数组中删除未定义的元素

javascript - 将页面上的 JSON 数据显示为可展开/可折叠列表

typescript - React Native with typescript - 如何使用来自@react-navigation/native 的 useRoute with typescript

reactjs - 如何正确定义样式组件(对于 TypeScript)的引用(React.RefObject<StyledComponentClass>)?

typescript - 无法将属性添加到 passport-linkedin-oauth2 声明文件的接口(interface)

javascript - 如何将ajax变量传递到另一个页面?

javascript - 禁用 Chrome(辅助功能->调整文本大小)

循环内的 JavaScript 闭包 – 简单的实际示例

angular - 在 TypeScript 中创建 GUID - 函数在 JS 中有效但在 TS 中无效

json - Java 映射到 JSON 到 Typescript 映射