Typescript Notes2:Object is possibly 'null'.

Typescript Notes2:Object is possibly 'null'.

Demo

ts获取页面页面元素报错可能为null
document.getElementById('test')!.innerHTML = greeter(user);
加一个!,感叹号什么意思呢,它其实是not null 的断言操作符,不执行运行时检查,告诉编译器只需要知道这个东西。

类型“Element”上不存在属性“style”

因为ts默认用的是Element,需要声明为HTMLElement
let top = <HTMLImageElement>document.querySelector('.Top'); top.style.display = 'none' ;
或是下面这样
let top = document.querySelector('.Top') as HTMLElement; top.style.display = 'none' ;

类型“Element”上不存在属性“onclick”

通过将您的元素转换为HTMLElement
for (let i = 0; i < btn.length; i++) { let element: HTMLElement = document.getElementsByClassName('btntest')[i] as HTMLElement; element.onclick = () => { console.log(`这是第${i + 1}个按钮`); } }