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}个按钮`); } }