Javascript 事件。目标。父节点。。。在chrome和firefox中指向不同的父母?

Javascript 事件。目标。父节点。。。在chrome和firefox中指向不同的父母?,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,在这个项目中,我有一个按钮,里面有一个图片和造型的目的工作。。。我正在尝试实现该功能,以便在单击按钮时使用event.target.parentNode.parentNode。。。在Firefox中,我需要调用parentNode 4次,在Chrome中它可以工作,但在Chrome中它不工作,我需要调用parentNode 5次,这意味着两个浏览器引用的是不同的父节点。我添加了$(event.target.parent().parent().css('border','5px纯黑');找出每个浏

在这个项目中,我有一个按钮,里面有一个图片和造型的目的工作。。。我正在尝试实现该功能,以便在单击按钮时使用event.target.parentNode.parentNode。。。在Firefox中,我需要调用parentNode 4次,在Chrome中它可以工作,但在Chrome中它不工作,我需要调用parentNode 5次,这意味着两个浏览器引用的是不同的父节点。我添加了$(event.target.parent().parent().css('border','5px纯黑');找出每个浏览器考虑的目标。我发现Chrome将event.target视为图像(实际点击的图像),而Firefox将按钮视为event.target(实际连接事件的位置)。。。。。如何使此按钮及其事件代码在两种浏览器上都可移植,而不删除按钮标记内的图像(这很有效)

代码看起来像

$(文档).on('click','opinion',函数(事件){
试一试{
post_id=event.target.parentNode.parentNode.parentNode.parentNode.dataset['postid'];
//$(event.target.parent().parent().css('border','5px纯黑');
url=$('#opinionUrl'+post_id).val();
令牌=$(“#令牌”).val();
}捕获(e){
警报(e);
}
///还有一些代码要做
});

为什么要使用jQuery和chain
parentNode
.parent()

.closest()
将为您完成这项工作


谢谢,@Roko C.我仍然对Jquery的一些核心功能比较熟悉。。。再次感谢!
post_id = $(this).closest("[data-postid]").data().postid;