Code前端首页关于Code前端联系我们

js判断是否是子元素

terry 2年前 (2023-09-09) 阅读数 176 #Javascript

Text我将展示如何判断当前点击的元素是否是指定元素的子元素。

js判断是否是子元素

解决方案:

我为父元素分配一个 id,并使用此循环检查当前元素是否属于其子元素。

实施代码:

/**
* 前端教程网
* https://www.pipipi.net/
*/


const isDescendant = (el, parentId) => {
  let isChild = false

  if (el.id === parentId) { //判断是否是其本身
    isChild = true
  }

  while (el = el.parentNode) {
    if (el.id == parentId) {
      isChild = true
    }
  }
  
  return isChild
}

document.addEventListener('click', event => {
  const parentId = 'mycontainer'

  if (isDescendant(event.target, parentId)) {
    //处理是子元素的情况
  } else {
    //处理不是子元素的情况
  }
})

在while循环中,我使用=赋值运算符进行迭代,直到不再有父节点,在这种情况下,当el.parentNode返回null时,while循环结束。

这个解决方案想法是一个常见的解决方案。可以拿个小本子记下来~和查资料差不多。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门