<div id="111">
ddd
<div id="222">
ddd
<div id="333">
ddd
</div>
</div>
</div><script>
   alert(jQuery.contains($("#333"),$("#222")));
//或者alert(jQuery.contains($("#222"),$("#333")));
</script>
此方法,不管怎么写返回的都是true,很奇怪,求真相!!

解决方案 »

  1.   


    <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <div id="111">
    ddd
    <div id="222">
    ddd
    <div id="333">
    ddd
    </div>
    </div>
    </div><script>
    alert(jQuery.contains($("#333").get(0),$("#222").get(0)));
    alert(jQuery.contains($("#222").get(0),$("#333").get(0)));
    </script>
      

  2.   

    jQuery.contains( container, contained )
    containerThe DOM element that may contain the other element.containedThe DOM node that may be contained by the other element.Example:jQuery.contains(document.documentElement, document.body); // true
    jQuery.contains(document.body, document.documentElement); // false
      

  3.   

    一个DOM节点是否包含另一个DOM节点
    你传递的是jquery对象,不是dom元素
     alert(jQuery.contains($("#333")[0],$("#222")[0]));