JavaScript系列问题 —— 判断某个DOM节点是否存在于指定DOM节点中

<div id="great">
    <div id="grand">
        <div id="parent">
            <div id="child"></div>
        </div>
    </div>
</div>
<script type="text/javascript">
    var great = document.getElementById('great');    //曾祖父节点
    var grand = document.getElementById('grand');    //祖父节点
    var parent = document.getElementById('parent');  //父节点
    var child = document.getElementById('child');    //子节点

    function isChildOf(parent, child) {
        var parentNode;
        if(child && parent) {
            parentNode = child.parentNode;
            while(parentNode) {
                if(parent === parentNode) {
                    return true;
                }
                parentNode = parentNode.parentNode;
            }
        }
        return false;
    }
    console.log(isChildOf(great, grand));
    console.log(isChildOf(great, parent));
    console.log(isChildOf(great, child));
    console.log(isChildOf(grand, parent));
    console.log(isChildOf(grand, child));
    console.log(isChildOf(parent, child));
</script>

猜你喜欢

转载自blog.csdn.net/Rao_Limon/article/details/88841802