标签:
javascript判断一个元素是另外一个元素的子元素用途有很多,最常用的就是当点击页面的空白处去执行某些操作,比如弹出层等。
function isParent (obj,parentObj){ while (obj != undefined && obj != null && obj.tagName.toUpperCase() != ‘BODY’){ if (obj == parentObj){ return true; } obj = obj.parentNode; } return false; } $(document).click(function(event){ alert(isParent(event.target, $(“.floatLayer”)[0])); });
感觉还挺好用,但是在jQuery应用中还是有很多缺陷,比如多个元素的时候写起来就不是很方便。所以写了比较简单的jQuery判断一个元素是否为另一个元素的子元素(或者其本身)的两个扩展:
jquery代码
//判断:当前元素是否是被筛选元素的子元素
jQuery.fn.isChildOf = function(b){ return (this.parents(b).length > 0); };
//判断:当前元素是否是被筛选元素的子元素或者本身
jQuery.fn.isChildAndSelfOf = function(b){ return (this.closest(b).length > 0); };
使用起来也非常方便:
$(document).click(function(event){ alert($(event.target).isChildOf(“.floatLayer”)); }); 或者 $(document).click(function(event){ alert($(event.target).isChildAndSelfOf (“.floatLayer”)); });
标签:
原文地址:http://www.cnblogs.com/hutuzhu/p/4180042.html