1. 程式人生 > >js判斷一個dom中是否包含另一個dom的方法

js判斷一個dom中是否包含另一個dom的方法

首先,比較原始(蠢)的方法

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 時也成立)。