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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ANTLR:入门

这篇文章使您了解ANTLR的基础知识。 以前&#xff0c;我们已经了解了如何将ANTLR设置为外部工具。 在这里&#xff1a; ANTLR外部工具 :) 所以&#xff0c;我们开始…。 什么是ANTLR&#xff1f; •另一个语言识别工具&#xff0c;是一种语言工具&#xff0c;它提供了一个框架…

安装JAVA8要登录_JDK8的安装及环境配置

原文链接:https://www.cnblogs.com/chenxj/p/10137221.html1、下载JDK&#xff1b;b、或百度网盘&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1S14y4_3eN9G6oOVfhmbe_w提取码&#xff1a;0cf62、双击安装程序&#xff0c;点击下一步安装目录若不修改&#xff0c;可直…

【学习笔记】JavaScript基础(一)

【学习过程遇到疑问和延伸阅读】 1.document.write()的深入理解write()方法可向文档写入HTML表达式或JavaScript代码。可使用document.write()向输出流写文本或者HTML 延伸阅读《js中document.write的那点事》http://www.cnblogs.com/dh616854836/articles/2140349.html 2.编程…

js操纵cookie技术

<% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>图片浏览</title> <script typ…

java none怎么用tomcat_使用tomcat做java中间件

tomcat是一个老牌的中间件了&#xff0c;从我从业到现在时不时都会遇到它&#xff0c;方便、灵活、性能一般是我对它的使用经验总结。配置注意 &#xff1a; tomcat 7 和 6 有很大差别&#xff0c;server.xml catalina.sh 配置文件不能通用设置tomcat7 使用jdk1.7export JAVA_H…

早期访问中带有NetBeans的Oracle公共云Java服务

谁期望发生这种情况&#xff1a;Oracle正在开发公共云产品&#xff0c;并且即将开始正式启动的迹象已经出现。 在正式宣布之后将近一年&#xff0c;我被邀请加入所谓的“抢先体验”计划&#xff0c;以试驾新服务并提供反馈。 多亏负责产品的经理Reza Shafii &#xff0c;我才可…

MySQL 分组之后如何统计记录条数 gourp by 之后的 count()

SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数.如何获得 第二个sql语句的总记录条数? 则是&#xff0c;如下&#xff1a;    select count(*) from(SELECT count(*) F…

python CS游戏1--角色创建,武器购买

#codingutf-8 import random 本文字主要目的是随机创建一个角色&#xff0c;并且武器是随机产生的&#xff0c;自带系统给的费用10000,10000元钱可以购买武器&#xff0c;购买武器以后&#xff0c;钱会减少&#xff0c;直到不足提示无法购买 dir{"AK47":2000,"…

App Engine中的Google Services身份验证,第2部分

在本教程的第一部分中&#xff0c; 我描述了如何使用OAuth进行Google API服务的访问/身份验证。 不幸的是&#xff0c;正如我稍后发现的那样&#xff0c;我使用的方法是OAuth 1.0&#xff0c;显然现在Google正式弃用了OAuth 1.0&#xff0c;改用OAuth 2.0版本。 显然&#xff0…

字符串常用操作

1 常用&#xff1a;分割、长度、索引、切片2 r (1,2,3,4,5)#只读列表元组3 name "liangml"4 strip5 username input("user:")6 if username.strip() "liangml":#strip可以将输入前后的空格都换掉7 print("welcome")8 9 split …

java 保存bufferedimage_java - 如何将BufferedImage保存为Fi

答案在于Java Documentation的编写/保存图像教程。SaveImage.java类提供以下保存图像的方法&#xff1a;static boolean ImageIO.write(RenderedImage im, String formatName, File output) throws IOException该教程解释了这一点BufferedImage类实现RenderedImage接口。所以它…

MarkDownPad2 注册码

注册信息 邮箱地址&#xff1a; Soar360live.com 授权秘钥&#xff1a;GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6bnxn2kSE8qHqNY5QaaRxmO3YSMHxlv2EYpjdwLcPwfeTG7kUdnhKE0vVy4RidP6Y2wZ0q74f47fzsZo45JE2hfQBFi2O9Jldjp1mW8HUpTtLA2a5/sQytX…

[51nod1297]管理二叉树

一个初始为空的二叉搜索树T&#xff0c;以及1到N的一个排列P: {a1, a2, ..., aN}。我们向这个二叉搜索树T添加这些数&#xff0c;从a1开始, 接下来是 a2, ...&#xff0c; 以aN结束。在每一个添加操作后&#xff0c;输出T上每对节点之间的距离之和。例如&#xff1a;4 7 3 1 8 …

Java Swing中的聊天气泡

本文将向您解释“如何在Java swing应用程序中绘制聊天气泡&#xff1f;” 聊天气泡与呼出气泡或思想气泡相同。 今天&#xff0c;大多数聊天应用程序都以这种格式显示转换&#xff0c;因此本文将帮助您在用Java swing创建的桌面应用程序中进行相同的操作。 以下课程用于绘制第一…

java内存模型按照线程隔离性_深入理解Java多线程与并发框(第③篇)——Java内存模型与原子性、可见性、有序性...

一、Java内存模型Java Memory Modle&#xff0c;简称 JMM&#xff0c;中文名称 Java内存模型&#xff0c;它是一个抽象的概念&#xff0c;用来描述或者规范访问内存变量的方式。因为各中计算机的操作系统和硬件不同&#xff0c;方式机制也可能不同&#xff0c;Java内存模型用于…

PHP通过PDO连接Microsoft Access数据库

1连接到access数据库 $db new PDO("odbc:Driver{Microsoft Access Driver (*.mdb, *.accdb)}; dbq" .realpath("yourfilepath\# ddsbbn3A02.Mdb")) or die("Connect Error"); realpath函数用来规范化绝对路径 2修改数据库中BM_sitelink表中字段…

ZK实际应用:样式和布局

在之前的ZK in Action帖子中&#xff0c;我们使用ZK MVVM实现了CRUD功能 。 我们还快速浏览了一些样式代码&#xff0c;可能需要更多的解释。 在本文中&#xff0c;我们将讨论如何在ZK小部件上附加新CSS样式规则&#xff0c;以及如何覆盖现有样式。 我们还将介绍ZK中UI布局的一…

java面向对象的三大特征是6_Java面向对象的三大特征

面向对象的本质&#xff1a;以类的方式组织代码&#xff0c;以对象的方式组织数据。面向对象三大特性&#xff1a;封装 继承 多态封装&#xff1a;概念&#xff1a;隐藏对象内部的复杂性&#xff0c;只对外公开简单的接口。便于外界调用&#xff0c;从而提高系统的可扩展性&…

Tornado(一)

Tornado 特点 Tornado是一个用Python写的相对简单的、不设障碍的Web服务器架构&#xff0c;用以处理上万的同时的连接口&#xff0c;让实时的Web服务通畅起来。虽然跟现在的一些用Python写的Web架构相似&#xff0c;比如Django&#xff0c;但Tornado更注重速度&#xff0c;能够…

Android下Opengl ES实现单屏幕双眼显示

http://blog.csdn.net/u011371324/article/details/68946779 默认情况下&#xff0c;Opengl ES使用系统提供的帧缓冲区作为绘图表面&#xff0c;一般情况下&#xff0c;如果只在屏幕的表面绘图的话&#xff0c;系统提供的默认帧缓冲区很高效&#xff0c;但是很多应用程序需要渲…