如何获取目标元素的根父元素-Javascript

如何获取目标元素的根父元素-Javascript,javascript,Javascript,我有一个嵌套元素: <a href="www.google.com"> <b>Bold test</b> <i> Italics </i> <span>hello</span> </a> 基本上,我不想一直检查parentNode以访问标记的href属性。无论该元素与目标的嵌套程度有多深,都有办法找到它吗?您可以使用导航到与特定选择器字符串匹配的最近祖先。最近的: s

我有一个嵌套元素:

<a href="www.google.com">
  <b>Bold test</b>
  <i> Italics </i>
  <span>hello</span>
</a>

基本上,我不想一直检查parentNode以访问标记的href属性。无论该元素与目标的嵌套程度有多深,都有办法找到它吗?

您可以使用
导航到与特定选择器字符串匹配的最近祖先。最近的

someElement.addEventListener('click', (e) => {
  const a = e.target.closest('a');
  if (a) {
    // do something with a.href
  }
});
即使
someElement
本身,这也会起作用

<a href="www.google.com">click me</a>
onclick(eve) {
  if (eve.target.href || eve.target.parentNode.href || eve.target.parentNode.parentNode.href) {
    //do something
  }
}
someElement.addEventListener('click', (e) => {
  const a = e.target.closest('a');
  if (a) {
    // do something with a.href
  }
});