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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM