$.contains(parent,node)  返回值为一个布尔值 ==> boolean 
parent,node我们需要检查的节点
检查父节点是否包含给定的dom节点,如果两者是相同的节点,返回 false。
zepto代码实现方式:
$.contains = document.documentElement.contains ?
    function(parent, node) {
      return parent !== node && parent.contains(node) } : function(parent, node) { while (node && (node = node.parentNode)) if (node === parent) return true return false }


扩展:Node.contains() 返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。

应用:node.contains( otherNode )   
如果 otherNode 是 node 的后代节点或是 node 节点本身.则返回true , 否则返回 false.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  •   node是否包含otherNode节点.
  •  otherNode为node节点的后代节点

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <!-- <script src="js/zepto.js"></script> -->
        </head>
        <body>
            <div id="div"></div>
            <div id="parent">
                <p id="p">p元素</p>
                <div id="child">div元素</div>
            </div>    
        </body>
        <script>
            var oParent = document.getElementById('parent'); var oP = document.getElementById('p'); var oChild = document.getElementById('child'); var oDiv = document.getElementById('div'); var oBody = document.getElementsByTagName('body')[0]; console.log(oParent.contains(oParent))// true  console.log(oParent.contains(oChild))// false  console.log(oParent.contains(oDiv))// false </script> </html>

源码地址

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄