js判斷一個dom中是否包含另一個dom的方法
阿新 • • 發佈:2018-11-11
首先,比較原始(蠢)的方法
function isChildOf(child, parent) { if(child && parent) { let parentNode = child.parentNode; while(parentNode) { if(parent === parentNode) { return true; } parentNode= parentNode.parentNode; } } return false; }
這裡 while 中判斷其實在實際情況我們應該換成我們要搜尋的上限的 dom,例如 while(parentNode === document.body) 即可。
當然,能省一行程式碼絕不多寫一個字母才是我們這群懶人所需求的。
parent.contains(child) // true | false
返回一個布林值,判斷當前 parent 下面是否包含 child,包含關係為開區間(及 parent === child 時也成立)。