色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

javascript contains方法

IE有許多好用的方法,后來都被其他瀏覽器抄襲了,比如這個contains方法。如果A元素包含B元素,則返回true,否則false。唯一不支持這個方法的是IE的死對頭firefox。

不過火狐支持compareDocumentPosition() 方法,這是W3C制定的方法,標(biāo)準(zhǔn)瀏覽器都支持,不過實(shí)用性性很差,因此沒有什么人用,推廣不開來。它的使用形式與contains差不多,但返回的不是一個布爾值,而是一個很奇怪的數(shù)值,它是通過如下方式累加計(jì)算出來的:

  • 如果B與A不相連(Position disconnected),加1;(怎么我死活搞不出1來呢???)
  • 如果B是在A的前面,加2;
  • 如果B是在A的后面,加4;
  • 如果B包含A,加8;
  • 如果B被A包含,加16。

PPK給出如下解決方法。

 if (window.Node && Node.prototype && !Node.prototype.contains){    Node.prototype.contains = function (arg) {      return !!(this.compareDocumentPosition(arg) & 16)    }  }

我搞出個更短的:

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

it知識庫javascript contains方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 辽阳县| 军事| 夏邑县| 大兴区| 海门市| 恭城| 九龙城区| 浮山县| 浏阳市| 竹溪县| 曲水县| 博乐市| 门头沟区| 阿巴嘎旗| 敦化市| 翁牛特旗| 辽中县| 镇安县| 来宾市| 扶余县| 防城港市| 高雄县| 阿克苏市| 昌图县| 嘉鱼县| 比如县| 旌德县| 宁阳县| 淳化县| 和政县| 宜章县| 合水县| 张家川| 平乡县| 河间市| 石泉县| 江都市| 嘉义县| 吴江市| 察隅县| 许昌县|