首页 > 其他 > 详细

contain与compareDocumentPosition

时间:2017-01-27 18:00:39      阅读:238      评论:0      收藏:0      [点我收藏+]

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");

console.log(a.contains(b)); //true

值得注意的是这个方法得到了大多数浏览器的支持,除了IE的死对头Firefox,这里我们介绍另一种函数compareDocumentPosition(),即对比文档元素之间的位置

a在b的前面   4

a在b的后面   2

a包含b         20

b包含a        10

a与b相同      0

(这些结论由本人亲测获得,与w3c教程上的返回值不完全相同)

compareDocumentPosition得到了所有浏览器的支持(IE9+)

 

由此得出兼容性方案

if(!!window.find){
  HTMLElement.prototype.contains = function(B){
    return this.compareDocumentPosition(B) - 19 > 0
  }
}

 

contain与compareDocumentPosition

原文:http://www.cnblogs.com/yanze/p/6353916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!