报错有:
1、类型“Element”上不存在属性“onClick”;
2、获取结点添加dom.style.width='20px'报错;
原代码如下:
className时:
const zrdclick = () => {
let zrd = document.querySelector('#zrdstyle')
zrd.style.background='red';
};
return (
<div>
<div id='zrdstyle' style={{width:'50px',height:'20px'}} onClick={()=>zrdclick()}></div>
</div>
报错如下
解决方法如下:获取dom结点时要加as HTMLElement
let zrd = document.querySelector('#zrdstyle') as HTMLElement;
原因:
因为ts默认用的是Element,需要声明为HTMLElement
id时:
// 获取结点添加any
const zrdclick = () => {
let zrd:any = document.getElementsByClassName('zrdstyle')
zrd.style.background='red';
};
return (
<div>
<div className='zrdstyle' style={{width:'50px',height:'20px'}} onClick={()=>zrdclick()}></div>
</div>
参考文章:
https://blog.csdn.net/weixin_38883338/article/details/101517020
https://blog.csdn.net/weixin_45299090/article/details/127670945