contains与compareDocumentPosition】的更多相关文章

Sizzle中有一个contains方法(jQuery.contains),用来遍历是否包含指定的元素 IE率先引入一个contains()方法,可以在节点中查找某一个节点是不是当前节点的厚点,如果 DOM Node 和 DOM Element 相一致,.contains() 将返回 true ,虽然,一个元素不能包含自己 在DOM3中又引入了compareDocumentPosition()用来确定节点关系,这个方法比contains更为强大,使用这个方法你可以确定关于一个元素位置的一连串的信…
PS:尊重原创,转载请注明来自http://www.cnblogs.com/Raoh/p/js_compareDocumentPosition_between_two_node.html 使用compareDocumentPosition方法比较两个节点,将会返回描述它们在文档中位置的整数. compareDocumentPosition的枚举值 二进制值 枚举值 位置信息 000000          0 元素一致 000001          1 没有关系,两个节点不属于同一个文档  0…
~~~ nodeA.contains(nodeB) //ie ,   nodeA.compareDocumentPosition(nodeB) //firefox opera 1.DOMElement.contains(DOMNode) 这个方法起先用在 IE ,用来确定 DOM Node 是否包含在另一个 DOM Element 中. 注意点:如果 DOM Node 和 DOM Element 相一致,.contains() 将返回 true ,虽然,一个元素不能包含自己. 这里有一个简单的执…
contain方法由IE创建,用于判断元素之间是否是父亲与后代的关系,例如:如果A元素包含B元素,则返回true,否则,返回false eg: <div id= "a">      <div id= "b"></div></div> var a= document.getElementById("a");var b= document.getElementById("b"); c…
IE有许多好用的方法,后来都被其他浏览器抄袭了,比如这个contains方法.如果A元素包含B元素,则返回true,否则false.唯一不支持这个方法的是IE的死对头firefox.不过火狐支持compareDocumentPosition() 方法,这是W3C制定的方法,标准浏览器都支持,不过实用性性很差,因此没有什么人用,推广不开来.它的使用形式与contains差不多,但返回的不是 一个布尔值,而是一个很奇怪的数值,它是通过如下方式累加计算出来的: Bits Number Meaning…
本章内容: 定义 节点类型 节点关系 选择器 样式操作方法style 表格操作方法 表单操作方法 元素节点ELEMENT 属性节点attributes 文本节点TEXT 文档节点 Document 位置操作方法 定时器 弹出框 location 其它 事件操作 实例 定义 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口. 节点类型 12中节点类型都有NodeType属性来表明节点类型 节点类型 描述 1 Element 代表元素 2 A…
这一节要分析的东东比较复杂,篇幅会比较大,也不知道我描述后能不能让人看明白.这部分的源码我第一次看的时候也比较吃力,现在重头看一遍,再分析一遍,看能否查缺补漏. 看这一部分的源码需要有一个完整的概念后去看才比较容易看懂,所以我们先把整个编译的原理阐述以后再进行解析. 还是以上次的那个CSS选择器为例:#chua > a + .group labe[for="age"].按照我们正常解析CSS的思路从右往左解析(这是效率较高的处理方法),解析之前词法分析完毕,词法分析结果保存在to…
× 目录 [1]父级属性 [2]子级属性 [3]同级属性[4]包含方法[5]关系方法 前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不同的信息及标记.每个节点都拥有各自的特点.数据和方法,也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标记则表现为一个以特定节点为根节点的树形结构.本文将详细描述DOM间的节点关系 节点中的各种关系可以用传统的家族关系来描述,相当于把文档树比喻成家谱.接下来,将把DOM节点关系分为属性…
来源于:https://www.kancloud.cn/dennis/tgjavascript/241852 一.节点 1.1 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Text或Comment节点的文本值,只读 Node.textContent //返回当前节点和它的所有后代节点的文本内容,可读写 Node.baseURI //返回当前网页的绝对路径 Node.ownerDoc…
1.定义: DOM是Document Object Model文档对象模型的缩写.是针对HTML和XML文档的一个API,通过DOM可以去改变文档. 例如:我们有一段HTML,那么如何访问第二层第一个节点呢,如何把最后一个节点移动到第一个节点上面去呢? DOM就是定义了如果做类似操作,那么应该怎么做的标准.比如用getElementById来访问节点,用insertBefore来插入节点. 当浏览器载入HTML时,会生成相应的DOM树. 简而言之,DOM可以理解为一个访问或操作HTML各种标签的…
优点: 丢弃了一些不常用的方法(jQuery.fn):slideUp.fadeIn.animate等: 新增获取子节点的方法(ToolKit.fn):firstChild,lastChild等: 新增ToolKit.Threads线程操作函数(有效解决自定义弹窗同时运行的问题): 加入JSON对象(JSON.parse和JSON.stringify); 重写ToolKit.toString方法为JSON.stringify,ToolKit.get和ToolKit.post的dataType为js…
 HTML5 与类相关的扩充 1.getElementsByClassName()方法 改方法接受一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList.传入多个类型时,先后顺序不重要. //取得所有类中包含"username"和"current"的元素,类名的先后顺序不重要 var allCurrentUsername = document.getElementsByClassName('username current'); //取…
在IE的全系列中都实现了mouseenter和mouseleave事件,但是在早期的w3c浏览器中却没有实现这两个事件.有时候,我们需要使用 mouseenter事件来防止子元素的冒泡,这就涉及到事件兼容性的问题了. 先比较mouseenter和mouseover的异同点,当从元素外围进入元素内部时同时触发mouseover和mouseenter事件,但是在元素内部, 鼠标进入元素子节点时会继续触发mouseover事件,该事件是可以向上冒泡的:对于mouseenter则不会冒泡,当然也不会触发…
说一下Sizzle中零碎的API.这些API有的被jQuery接管,直接使用jQuery.xxx就可以使用,有的没有被接管,如果要在jQuery中使用,使用方法是jQuery.find.xxx. 具体看一下有哪些API //筛选出elements满足CSS选择器表达式expr的节点[最终返回的是节点数组]Sizzle.matches = function( expr, elements ) {...} //判断dom元素elem是否匹配CSS选择器表达式exprSizzle.matchesSel…
一.前言    在HTML4的时代,各前端工程师为了实现拖拽功能可说是煞费苦心,初听HTML5的DnD API觉得那些痛苦的日子将一去不复返,但事实又是怎样的呢?下面我们一起来看看DnD API的真面目吧! 二.由于篇幅较长,特设目录一陀 三.HTML4下实现简单拖拽 四.HTML5下实现简单拖拽 五.如何启用DnD效果 六.draggable属性详解 七.DnD的生命周期 八.DnD中最重要的数据传递对象──DataTransfer对象 九.[object DataTransferItemLi…
Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能 1.Django安装 # windows 直接用pip进行安装 pip install django # 生成的django文件加入到系统环境变量 C:\Python35\Scripts 2.创建Django程序并启动 # 终端上直接输入,创建sitename项目名 djang…
jquery制作点击按钮弹出遮罩半透明登陆窗口 // )[^>]*$|^#([\w-]+)$/,M=/^.[^:#\[\.,]*$/,ka=/\S/,$= /^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ya=/^(?:)?$/,ga=navigator.userAgent,Fa=false,ha=[],aa,pa=Object.prototype.toString,qa=Object.prototype.hasOwnProperty,ra=Array.prototype.push…
11.4.3 contains() 方法 用来确定某个节点是不是另一个节点的后代. 注:a.contains(a) 也是返回true.说明contains方法搜索是从自身开始的. DOM Level 3 的 compareDocumentPosition() 也可以确定节点间的关系. 返回一个表示该关系的位掩码. 1 无关 2 居前 4 居后 8 包含 16 被包含 因为compareDocumentPosition返回的是一个位掩码,所以必须再使用按位与运算才能得到有意义的值. 来看个例子:…
document.documentElement.contains(document.body) // true document.documentElement.compareDocumentPosition(document.body) //safari5+是把contains方法放在Element.prototype上而不是Node.prototype if (!DOC.contains) { Node.prototype.contains = function (arg) { retur…
一.我们先分析其产生的原因: 1.当鼠标从父级移入子集时触发了父级的两个事件:a.父级的mouseout事件(父级离开到子集):b.由于事件冒泡影响,又触发了父级的mouseover事件(父级移入父级): 2.当鼠标从子集移出到父级时又触发了父级的两个事件:a.由于事件冒泡影响,父级触发了mouseout事件(父级移出父级):b.再触发了父级的mouseover事件(子集移入父级) 注:红色字体的解释是事件冒泡的奇妙之处. 二.解决方法: 首先必须先熟悉以下两个方法和一个事件属性: a,b为节点…
jsp对控件显示 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jquery</title> &…
定义:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式 节点:(例如:<div id="属性节点">测试</div>) 元素节点:标签元素<div> 文本节点:标签内的所有纯文本 “测试” 属性节点 :标签的属性   ‘id’ IE 浏览器是以com实现的DOM 返回一个Object一.获得元素节点 var ele = docu…
一.前言 在polyfill querySelectorAll 和写弹出窗时都需要判断两个节点间的位置关系,通过jQuery我们可以轻松搞定,但原生JS呢?下面我将整理各种判断方法,以供日后查阅. 二.祖孙关系 html <div id="ancestor"> <div id="parent"> <div id="son">son</div> </div> </div> &l…
简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你就会发现其实是不切实际的.当然,如果你不关注调试,那就没什么可担心的了,否则,如果你想了解兼容性方面的东西的话,你还是应该继续往下看看. 我们先开始看看,什么叫函数表达式,然后再说一下现代调试器如何处理这些表达式. 函数表达式和函数声明? 在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,两者期间的区别是有点晕,因为ECMA规范只明确…
/*! jQuery v1.8.3 jquery.com | jquery.org/license */ (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toL…
HTML DOM 元素对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 : 文档本身就是一个文档对象 所有 HTML 元素都是元素节点 所有 HTML 属性都是属性节点 插入到 HTML 元素文本是文本节点 注释是注释节点 元素对象 在 HTML DOM 中, 元素对象代表着一个 HTML 元素. 元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点. NodeList 对象 代表了节点列表,类似于 HTML…
本文转载 终极效果 源码 index.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/ > <title>Smoothed D3.js Radar Chart</title> <!-- Google fonts --> <li…
  JsRender是一款基于jQuery的JavaScript模版引擎 特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 jsrender使用比较简单,本文简单结束一些常用的 使用过程: 1. 下载并导入相关js库(最后提供三个js源文件的源码copy,可直接使用) <script src="jsrender/jquery-1.8.0.min.js" type="text/javascript" charset="utf-8"…
DOM是文档对象模型的简称,DOM的基本思想是把结构化文档解析成一系列的节点,由这些节点组成数装的DOM树,所有的这些节点和最终的树状结构都有统一的对外接口,达到使用编程语言操作文档的目的,DOM可以理解为XML文档.SVG文档.HTML文档的编程接口API.DOM不属于javascript但是可以通过javascript操作DOM. 节点的概念: DOM的最小组成单位叫节点(node),一个文档的树形结构(DOM树),就是由各种不同的类型的节点组成. 对于HTML文档,节点主要有一下六种类型:…
今天需要做图片上传与生成缩略图的功能,把代码进行记录如下: html 视图              ($pic_action_url = $this->createAbsoluteUrl('home/upload');) <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title></title> <script type="tex…