代碼
/**
* @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