判斷DOM元素是否為父子關(guān)系

代碼

/**
 * @param {HTMLElement} node
 * @param {HTMLElement} parent
 * @return {Boolean} found
 */
function hasParent(node, parent) {
  while (node) {
    if (node === parent) {
      return true;
    }
    node = node.parentNode;
  }
  return false;
}

實(shí)例

html
<div id="img" style="border: 1px solid red">
      <h3 id="testStr" style="color: #000">sdjfosjdf</h3>
</div>
<div class="node1" style="color: red"><h1>這是另外的標(biāo)簽</h1></div>
js
const node = document.getElementById('img')
function callback(e){
  console.log('hasParent(e.target, node)',hasParent(e.target, node))
}
window.addEventListener('click', callback)

說明:

  • 點(diǎn)擊h3標(biāo)簽或者id為img的div返回true. 其余返回false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,128評論 2 17
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,273評論 0 1
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,501評論 0 2
  • 你羨慕自由職業(yè)嗎?我也羨慕也不羨慕。羨慕自由職業(yè)不用坐班,不用依附于組織,不用開無聊的會議,不用對有的無的辦公室政...
    榮常在閱讀 216評論 1 2

友情鏈接更多精彩內(nèi)容