js获取当前点击元素的最外层元素

请问js有什么简便的方法获取当前点击元素的最外层元素?

阅读 10.3k
5 个回答

题主问题是不是问错了,一般界面上元素的最外层元素不就是指body吗?
如果是想问点击元素的某一级父元素,能拿到点击事件的MouseEvent那就方便了

//类似这样,event在点击事件可获取,至于find函数中的判断逻辑可根据实际场景而定
event.path.find(dom=>dom.className.includes('parent'));

递归

function getRootParent(dom){
    var root = dom;
    if(root.parentNode){
        root = getRootParent(root.parentNode);
    }
    
    return root;
}
click= fn(e) {
 e.target.parentNode
}

如果不介意用 jQuery 的话,可以用

$('#demo').parents('父选择器');

最外层节点不就是document么?或者也可以是document.body

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题