javascript判断一个元素是另外一个元素的子元素
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”));
});
转载于:https://www.cnblogs.com/hutuzhu/p/4180042.html
javascript判断一个元素是另外一个元素的子元素相关推荐
- js将数组中一个或多个字段相同的子元素中合并
最近js中遇到js将数组中一个或多个字段相同的子元素中合并,相信很多朋友也有遇到,大家可能有多种方法,我在这里记录一个相对简单的方法,当然大家如有其它更好的方法,请提出来大家共同学习. //将经济事项 ...
- 父元素设置overflow: overlay; 或 overflow: scroll; 或 overflow: auto; 如果子元素超出父元素内容,父元素会被子元素超出部分撑大至子元素同样大小
发现 父元素设置overflow: overlay; 或 overflow: scroll; 或 overflow: auto; 如果子元素超出父元素内容,父元素会被子元素超出部分撑大至子元素同样大小 ...
- 关于父元素设置maxHeight或minHeight,子元素高度设置%的不生效的问题
关于父元素设置maxHeight或minHeight,子元素高度设置%的不生效的问题 要理解这个问题,首先要搞清楚一个元素的高度是由什么决定的?如果在不额外设置高度或者行高等外加的影响高度的css样式 ...
- 解决IE6,IE7下子元素使用position:relative、父元素使用overflow:auto后,子元素不随着滚动条滚动的问题...
解决IE6,IE7下子元素使用position:relative.父元素使用overflow:auto后,子元素不随着滚动条滚动的问题 在IE6,IE7下,子元素使用position:relative ...
- 动态切换父元素隐藏和显示里面的子元素的动画会再一次执行吗?
代码: 完整代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- CSS子元素居中(父元素宽高已知,子元素未知)
<style> .container{width:400px; height:400px; position:relative;} .center{position:absolute; l ...
- 关于flex布局中,父元素高度auto,由一子元素撑开,另一子元素自适应高度问题
.expressRecord-single-close {//父元素样式 width: 100%; height: auto; display: flex; justify-content: flex ...
- JavaScript判断字符串中包含另一个字符串(QML 中使用)
前言 为啥会搞JavaScript呢,原因很简单,因为 QML 中用到了 JS 的语法,本来在 Qt 里面 QString 检查字符串是否包含一个子串是非常简单的事情,直接用contains()函数就 ...
- 第一个Polymer应用 - (2)创建你自己的元素
原文链接: Step 2: Your own element 翻译日期: 2014年7月6日 翻译人员: 铁锚 通过上一节的学习和实践, 您已经完毕了一个主要的应用程序结构(application s ...
- 怎么判断子元素距离父元素顶部位置_css子元素如何相对父元素定位?
在css中,可以使用position属性,通过给父元素设置相对定位"position:relative;"样式,给子元素设置绝对定位"position:absolute; ...
最新文章
- 五角大楼公布UFO报告,不明飞行物到底是什么?(全文)
- Linux-编写Shell的几个技巧_02
- Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写
- Visual Studio 批量注释 快捷键
- 存储过程或视图的字符串查询
- Codeforces Round #112 (Div. 2) E. Compatible Numbers sosdp
- (原创)C++11改进我们的程序之move和完美转发
- js构造函数内存在的闭包
- chat.php能定期刷新,php+ajax实现在线刷新,即时通讯,无需mysql数据库!
- Operating System-进程间互斥的方案-保证同一时间只有一个进程进入临界区(3)- TSL指令...
- unity快速将旋转向量转换为四元数
- 1分钟了解微信收款商业版
- linux 内核学习
- OpenCV第十四讲: Fast特征点与ORB特征点原理详解
- 一个WEB应用的开发流程 供学习用!
- html不能打开图片,HTML无法打开图片
- linux中opt是啥文件夹,linux根目录的各文件夹里装了什么
- 2021-02-17:规定1和A对应、2和B对应、3和C对应...26和Z对应,那么一个数字字符串比如“111”就可以转化为:“AAA“、“KA“和“AK“。给定一个只有数字字符组成的字符串str,请
- Mac系统上查看端口占用和释放端口
- 电竞Dota2数据API接口 - 【联赛列表】API调用示例代码
热门文章
- python 运行pyc_Pyc文件编译和运行
- PHP判断升级,版本检测升级(更新)库
- C语言标准库 <float.h>
- linux ps画图,PhotoGIMP:让Linux下的GIMP交互体验就像Photoshop
- android gdb 远程调试工具,gdb输入/输出错误远程调试到Android
- TensorFlow AlexNet
- opencv-api boundingRect
- matplotlib Artist 教程
- CentOS7的安装和配置
- texstudio如何安装cjk宏包_MikTex+TexStudio配置论文写作环境