zoukankan      html  css  js  c++  java
  • 判断一个节点是否是另一个元素的子节点

    判断一个元素是否包含一个指定节点

    这个函数时在contains()的基础上封装的,contains()不兼容火狐,特意封装了一下,以后方便用。
    function isDOMContains(parentEle,ele,container){
        //parentEle: 要判断节点的父级节点
        //ele:要判断的子节点
        //container : 二者的父级节点
        
        //如果parentEle h和ele传的值一样,那么两个节点相同
        if(parentEle == ele){
            return true
        }
        if(!ele || !ele.nodeType || ele.nodeType != 1){
            return false;
        }
        //如果浏览器支持contains
        if(parentEle.contains){
            return parentEle.contains(ele)
        }
        //火狐支持
        if(parentEle.compareDocumentPosition){
            return !!(parentEle.compareDocumentPosition(ele)&16);
        }
    
        //获取ele的父节点
        var parEle = ele.parentNode;
        while(parEle && parEle != container){
           if(parEle == parentEle){
            return true;
           }
           parEle = parEle.parentNode;
        }
        return false;
    }
  • 相关阅读:
    sass接触
    css 文字超出部分显示省略号(原)
    vue组件
    字节流
    File类、递归
    异常
    静态导入、可变参数、Collections集合工具类、集合嵌套
    Map接口
    Set接口
    List接口
  • 原文地址:https://www.cnblogs.com/rainbow8590/p/7182476.html
Copyright © 2011-2022 走看看