IE有許多好用的方法,后來都被其他瀏覽器抄襲了,比如這個contains方法。如果A元素包含B元素,則返回true,否則false。唯一不支持這個方法的是IE的死對頭firefox。
提示:可修改后代碼再運行!
不過火狐支持compareDocumentPosition() 方法,這是W3C制定的方法,標準瀏覽器都支持,不過實用性性很差,因此沒有什么人用,推廣不開來。它的使用形式與contains差不多,但返回的不是一個布爾值,而是一個很奇怪的數值,它是通過如下方式累加計算出來的:
Bits | Number | Meaning |
---|---|---|
000000 | 0 | 元素一致 |
000001 | 1 | 節點在不同的文檔(或者一個在文檔之外) |
000010 | 2 | 節點 B 在節點 A 之前 |
000100 | 4 | 節點 A 在節點 B 之前 |
001000 | 8 | 節點 B 包含節點 A |
010000 | 16 | 節點 A 包含節點 B |
100000 | 32 | 瀏覽器的私有使用 |
提示:可修改后代碼再運行!
PPK給出如下解決方法。
我搞出個更短的:
提示:可修改后代碼再運行!
作者:Ruby's Louvre 出處:http://www.cnblogs.com/rubylouvre