dom contains 包含关系
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>contains</title>
</head>
<body>
<div id="p-node">
<div id="c-node">子节点内容</div>
</div>
<script>
var pNode=document.getElementById('p-node');
var cNode=document.getElementById('c-node');
//判断元素节点pnode是否包含cnode元素节点
alert(pNode.contains(cNode));
//判断cnode元素节点是否包含 文本节点
alert(cNode.contains(cNode.childNodes[0]));
//判断pnode元素节点是否包含 文本节点
alert(pNode.contains(cNode.childNodes[0]));
//***Ie低版本只支持元素节点包含判断
/**
* 兼容判断包含关系
* @param {[type]} a 上层节点
* @param {[type]} b 下层节点
* @return {[type]} [description]
*/
function fixContaion(a,b){
try{
while(b=b.parentNode){
if(b===a){
//如果b<a(a为父,b为子)循环向上查找b的父节点直到他们是同层关系(a===b)
return true;
}
//如果b>a(如果b为父,a为子),肯定找不到,返回fales
return false;
}
}catch(e){
//对于游离于dom树外的节点,返回false.
return false;
}
}
alert(fixContaion(cNode,pNode)); //false
</script>
</body>
</html>
转载于:https://www.cnblogs.com/liu-zhao/p/6824894.html
dom contains 包含关系相关推荐
- 【原创】Aspose.Words组件介绍及使用—基本介绍与DOM概述
阅读目录 1.基本介绍 2.文档对象模型概述 本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 本博客其他.NET开 ...
- 【总结整理】JQuery基础学习---DOM篇
前言: 先介绍下需要用到的浏览器提供的一些原生的方法(这里不处理低版本的IE兼容问题) 创建流程比较简单,大体如下: 创建节点(常见的:元素.属性和文本) 添加节点的一些属性 加入到文档中 流程中涉及 ...
- 【Qt】DOM读取XML文档
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. XML文档示例 04. DOM读取XML文档内容 05. 预留 06. 附录 01. 概述 DOM(Document Ob ...
- [Qt教程] 第27篇 XML(一)使用DOM读取XML文档
[Qt教程] 第27篇 XML(一)使用DOM读取XML文档 楼主 发表于 2013-5-21 21:14:28 | 查看: 1001| 回复: 14 使用DOM读取XML文档 版权声明 该文章原创 ...
- C#操作Word Aspose.Words组件介绍及使用 基本介绍与DOM概述
1.基本介绍 Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP ...
- DOM操作 append prependTo after before
通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如果我们通过AJAX获取到数 ...
- 前端(DOM 、BOM 和 事件 )
目录 前言 一.DOM文档流 1.什么是DOM文档流 2. DOM = Document Object Model DOM文档流 3.关于DOM的小实例 4.DOM 改进 二.BOM 1.win ...
- JavaScript之BOM和DOM入门
JavaScript之BOM和DOM入门 JavaScript的组成包含三大部分,分别为ECMAScript.DOM和BOM.JavaScript组成,如下图所示: ECMAScript是JavaSc ...
- jQuery08源码 (5140 , 6057) DOM操作 : 添加 删除 获取 包装 DOM筛选
jQuery.fn.extend({//$('ul').find('li').css('background','red');//$('ul').find( $('li') ).css('backgr ...
最新文章
- python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
- undo系统参数详解
- Phone重绘机制drawRect 转
- 非监督学习的单层网络分析
- 利用 Node.js 实现 SAP Hana 数据库编程接口
- JDK 14:CMS GC是OBE
- 我是一个来自泰兴的程序员,我喜欢C++
- CSS3实现静态和动态效果
- 拿来就能用!用爬虫秒抢到孩子心仪的幼儿园 | CSDN 博文精选
- CCSpriteBatchNode(附:CCMenu与CCSpriteBatchNode的问题)
- 清华大学计算机红皮书,哈佛的红皮书_82702698.pdf
- php分页类 seo,哪种分页url对seo友好?
- Delphi 生成二维码【PaintBox】并保存为本地文件添加至【Image】控件中
- 《你若安好,便是晴天》
- 《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案 第5章 习题5
- 用正点原子的精英版与onenet云平台连接
- 340. 至多包含K个不同字符的最长子串
- memcpy与memcpy_s的使用
- 练习系统 实验四 red and black
- HarmonyOS和LiteOS的关系,关于harmonyos:科普干货|漫谈鸿蒙LiteOSM与HUAWEI-LiteOS内核的几大不同...
热门文章
- Ajax.BeginForm无法调用 ajaxOptions的js函数
- 转:巧用搜狗输入法输入英文单词
- Silverlight 中datagrid控件-- 通过设置数据虚拟化加速显示
- mysql cluster 外键_Mysql外键约束
- mysqld已删除但仍占用空间的_Windows 10删除备份文件方法
- get方法 服务器响应,HTTP请求方法及响应码详解(http get post head)
- android 9.0 https 适配,如何适配 Android 9.0? 在 Android 9.0 上发生 SSL handshake timed out 异常怎么解决...
- java map 不存在的key_java – HashMap表示即使它确实存在,Key也不存在
- 孙叫兽进阶之路之敏捷开发
- 利用Vulnhub复现漏洞 - JBoss JMXInvokerServlet 反序列化漏洞