前不久做react项目时遇到了一个问题:设置一个点击事件后,无法获取当前dom元素。
比如我想在点击下图中的“关闭”图标后,将这部分内容隐藏。
我刚开始是按照之前jQuery的写法去写的,代码如下:
closeInfo=()=>{
$(this).parent().hide();
};
然而却没有达到我想要的效果,$(this)并没有获取到当前dom元素。
后来发现,原来在react中是要这样写:
closeInfo=(e)=>{
console.log(e.currentTarget);
$(e.currentTarget).parent('.main-3-info').hide();
};
如此便成功获取到当前dom元素,并对其父元素进行隐藏。
若要对其兄弟元素操作,也是类似的:
$(e.currentTarget).siblings().css({"background-color": "white", 'color': 'black'});