最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:47:07
文檔

javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧

javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧:從那起,我已經(jīng)對(duì)這些方法做了大量的研究,并且已經(jīng)在很多場(chǎng)合使用他們。在很多任務(wù)中,他們被證明是非常有用的(特別關(guān)于結(jié)構(gòu)的抽象 DOM 選擇器)。 1、DOMElement.contains(DOMNode) 這個(gè)方法起先用在 IE ,用來確定 DOM Node 是否包含在另一個(gè)
推薦度:
導(dǎo)讀javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧:從那起,我已經(jīng)對(duì)這些方法做了大量的研究,并且已經(jīng)在很多場(chǎng)合使用他們。在很多任務(wù)中,他們被證明是非常有用的(特別關(guān)于結(jié)構(gòu)的抽象 DOM 選擇器)。 1、DOMElement.contains(DOMNode) 這個(gè)方法起先用在 IE ,用來確定 DOM Node 是否包含在另一個(gè)

從那起,我已經(jīng)對(duì)這些方法做了大量的研究,并且已經(jīng)在很多場(chǎng)合使用他們。在很多任務(wù)中,他們被證明是非常有用的(特別關(guān)于結(jié)構(gòu)的抽象 DOM 選擇器)。
1、DOMElement.contains(DOMNode)
這個(gè)方法起先用在 IE ,用來確定 DOM Node 是否包含在另一個(gè) DOM Element 中。
當(dāng)嘗試優(yōu)化 CSS 選擇器遍歷(像:“#id1 #id2”),這個(gè)方法很有用。你可以通過 getElementById 得到元素,然后使用 .contains() 確定 #id1 實(shí)際上是否包含 #id2。
注意點(diǎn):如果 DOM Node 和 DOM Element 相一致,.contains() 將返回 true ,雖然,一個(gè)元素不能包含自己。
這里有一個(gè)簡(jiǎn)單的執(zhí)行包裝,可以運(yùn)行在:Internet Explorer, Firefox, Opera, and Safari。
代碼如下:
function contains(a, b) {
return a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(arg) & 16);
}


2、NodeA.compareDocumentPosition(NodeB)
這個(gè)方法是 DOM Level 3 specification 的一部分,允許你確定 2 個(gè) DOM Node 之間的相互位置。這個(gè)方法比 .contains() 強(qiáng)大。這個(gè)方法的一個(gè)可能應(yīng)用是排序 DOM Node 成一個(gè)詳細(xì)精確的順序。
使用這個(gè)方法你可以確定關(guān)于一個(gè)元素位置的一連串的信息。所有的這些信息將返回一個(gè)比特碼(Bit,比特,亦稱二進(jìn)制位)。
對(duì)于那些,人們知之甚少。比特碼是將多重?cái)?shù)據(jù)存儲(chǔ)為一個(gè)簡(jiǎn)單的數(shù)字(譯者注:0 或 1)。你最終打開 / 關(guān)閉個(gè)別數(shù)目(譯者注:打開/關(guān)閉對(duì)應(yīng) 0 /1),將給你一個(gè)最終的結(jié)果。
這里是從 NodeA.compareDocumentPosition(NodeB) 返回的結(jié)果,包含你可以得到的信息。
Bits Number Meaning
000 0 元素一致
001 1 節(jié)點(diǎn)在不同的文檔(或者一個(gè)在文檔之外)
010 2 節(jié)點(diǎn) B 在節(jié)點(diǎn) A 之前
100 4 節(jié)點(diǎn) A 在節(jié)點(diǎn) B 之前
000 8 節(jié)點(diǎn) B 包含節(jié)點(diǎn) A
000 16 節(jié)點(diǎn) A 包含節(jié)點(diǎn) B
000 32 瀏覽器的私有使用
現(xiàn)在,這意味著一個(gè)可能的結(jié)果類似于:
代碼如下:



聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧

javascriptcontains和compareDocumentPosition方法來確定是否HTML節(jié)點(diǎn)間的關(guān)系_javascript技巧:從那起,我已經(jīng)對(duì)這些方法做了大量的研究,并且已經(jīng)在很多場(chǎng)合使用他們。在很多任務(wù)中,他們被證明是非常有用的(特別關(guān)于結(jié)構(gòu)的抽象 DOM 選擇器)。 1、DOMElement.contains(DOMNode) 這個(gè)方法起先用在 IE ,用來確定 DOM Node 是否包含在另一個(gè)
推薦度:
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top