<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JavaScript之-compareDocumentPosition函數

    Posted on 2007-09-17 08:36 puras 閱讀(2464) 評論(4)  編輯  收藏 所屬分類: JavaScript

    作者:赫連紫軒(puras)

    看了一下午的ExtJS的源碼

    在判斷一個節(jié)點是否是另一個節(jié)點的祖先時

    發(fā)現有compareDocumentPosition這么個函數

    程序里的寫法是:return !!(p.compareDocumentPosition(c) & 16);

    開始對為什么要&上個16感到奇怪

    因為以前沒有用過compareDocumentPosition

    所以也不知道它返回的值是什么

    經過查詢資料

    以及測試

    總結了下compareDocumentPosition返回值的結果

    這個方法是用來判斷一個節(jié)點是另一個節(jié)點的后代(10-01010)還是祖先(20-),在前面(4-00100)還是后面(2-0),同一節(jié)點為0(00000)

    五位的二進制的各個位置表示不同的值:

    第五位:祖先

    第四位:后代

    第三位:前面

    第二位:后面

    第一位:本身

    相匹配的值為1,反之為0

    這樣對應五種情況,值分別是:10100(20), 01010(10), 00100(4), 00010(2), 00000(0)

    即然知道了這些值

    前面為什么要&上16

    就一目了然了

    只有第五位為1的時候,才會返回True,證明一個節(jié)點是另一個節(jié)點的祖先.

    另外提一點,這個函數在IE中不支持,但文檔上卻寫在在FF中原本為4的結果,在IE中為2,沒看明白是怎么回事.

    Feedback

    # re: JavaScript之-compareDocumentPosition函數  回復  更多評論   

    2007-09-17 09:53 by 千里冰封
    就是因為兩者瀏覽器對JS的支持度不太一樣,才會這樣

    # re: JavaScript之-compareDocumentPosition函數  回復  更多評論   

    2007-09-18 08:32 by 赫連紫軒(puras)
    @千里冰封
    嗯.我知道是因為兩個瀏覽器的不同造成的值不同
    我沒明白的為什么我測試的時候,IE里是不支持這個方法
    而在W3C上又給出了兩者的值......

    # re: JavaScript之-compareDocumentPosition函數  回復  更多評論   

    2008-04-21 14:25 by llinzzi
    我也看過w3c上的那個文章,他們是指在操作xml的時候,ff下,xml的操作可以用在html的dom上,ie下是分開的,是用activeX來創(chuàng)建的xml操作對象,那個對象是支持的該方法的 :)

    # re: JavaScript之-compareDocumentPosition函數  回復  更多評論   

    2008-04-21 14:27 by llinzzi
    比如IE下的XMLDOC對象 ie下不用xml對象操作的話 可以用contains方法

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     

    posts - 47, comments - 124, trackbacks - 0, articles - 0

    Copyright © puras

    主站蜘蛛池模板: 欧美a级在线现免费观看| 国内成人精品亚洲日本语音| 中文字幕视频免费在线观看| 亚洲av无码乱码在线观看野外| 免费人成再在线观看网站 | 亚洲s色大片在线观看| 在线免费视频你懂的| 黄色a三级三级三级免费看| 亚洲国产精品特色大片观看完整版| 日木av无码专区亚洲av毛片| 嫩草影院在线播放www免费观看| 精品亚洲综合久久中文字幕| 精品在线免费观看| 亚洲视频在线免费看| av无码国产在线看免费网站| 在线aⅴ亚洲中文字幕| 午夜成年女人毛片免费观看| 爱情岛亚洲论坛在线观看| 亚洲精品亚洲人成在线观看下载| 国内精品99亚洲免费高清| 久久久久亚洲AV无码观看| 成年男女免费视频网站| 日韩亚洲综合精品国产| 亚洲一区二区三区AV无码| 无码人妻精品中文字幕免费| 亚洲一级黄色大片| 国产福利免费观看| XXX2高清在线观看免费视频| 久久亚洲美女精品国产精品| 日韩午夜免费视频| a毛片视频免费观看影院| 亚洲国产精品成人综合色在线婷婷| 国产伦精品一区二区三区免费下载| 人碰人碰人成人免费视频| 亚洲大片在线观看| 日韩视频在线免费观看| 国产午夜精品久久久久免费视| 亚洲一区二区三区乱码在线欧洲| 亚洲AV无码乱码在线观看性色扶| 222www免费视频| 免费国产黄网站在线看|