调用名为$.contains
的工具函数,能检测在一个DOM节点中是否包含另外一个DOM节点,如果包含,返回true,否则,返回false值,调用格式为:
$.contains (container, contained);
参数container表示一个DOM对象节点元素,用于包含其他节点的容器,contained是另一个DOM对象节点元素,用于被其他容器所包含。
例如,通过$.contains()
函数,检测两个节点对象间是否存在包含关系,并将检测的结果显示在页面中,如下图所示:
在浏览器中显示的效果:
从图中可以看出,documentElement
是DOM根结点,而body只是根结点下的子节点之一,它们之间存在包含关系,因此,返回true值,并显示“包含”字样。
<!DOCTYPE html> <html> <head> <title>检测两个节点的包含关系</title> <link href="style.css" rel="stylesheet" type="text/css" /> <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script> </head> <body> <div id="divtest"> <div class="title"> <span class="fl">检测两个节点的包含关系</span> </div> <div class="content"></div> </div> <script type="text/javascript"> $(function () { var node_a = document.body.firstChild; var node_b = document.body; var strTmp = "对象node_a"; if (?) { //检测是否包含节点 strTmp += " 包含 "; } else { strTmp += " 不包含 "; } strTmp += "对象node_b"; $(".content").html(strTmp); }); </script> </body> </html>
#divtest { width: 282px; } #divtest .title { padding: 8px; background-color: Blue; color: #fff; height: 23px; line-height: 23px; font-size: 15px; font-weight: bold; } #divtest .content { padding: 8px; background-color: #fff; font-size: 13px; } .fl { float: left; } .fr { float: right; }