javascript uuid技術
1367 ワード
これは主に繰り返し要素をフィルタする時に使うものです.
3つの可能な手段に関連して:sourceIndex、uniqueIDとカスタムuuid.
sourceIndexは、要素ノードのページにおける出現順序、すなわち、document.allのセットにおけるインデックス番号を取得する.前の位置を正確に取得するために、前に要素ノードを挿入すると、その位置はプラスされます.つまり、動的に割り当てられています.毎回計算を繰り返します.IE onlyは読み取り専用です.
uniqueIDもIE onlyの読み取り専用属性です.この属性も早く元素ノードに固まるのではなく、私たちが初めてそれを訪問した時だけ、全ページにuniqueIDを割り当て始めます.これは、セレクタのフィルタリングを私たちが使うと、初めては遅いかもしれないという意味です.また、documentオブジェクトもこの属性を持っていますが、他のHTMLのuniqueID属性とは全く違っています.私たちは毎回Dcument.uniqueIDを呼び出すと、システムは新しいuniqueID値を返します.
<html lang=「en」>
<meta charset=「utf-8」/>
<meta content=「IE=8」http-equiv=「X-UA-Comppatible」/>
<title>uuid by司徒正美(/title)
<script type=「text/javascript」>
window.onload=function(){
alert(document.uniqueID)
alert(document.uniqueID)
alert(document.uniqueID)
)
<body>
実行コード
この二つのものは全部IE onyで、HTMLDocumentにしか使えません.だから私達は自分で通行の方案を設計することに決めました.jQueryはどのように実現されているかを見ます.
3つの可能な手段に関連して:sourceIndex、uniqueIDとカスタムuuid.
sourceIndexは、要素ノードのページにおける出現順序、すなわち、document.allのセットにおけるインデックス番号を取得する.前の位置を正確に取得するために、前に要素ノードを挿入すると、その位置はプラスされます.つまり、動的に割り当てられています.毎回計算を繰り返します.IE onlyは読み取り専用です.
uniqueIDもIE onlyの読み取り専用属性です.この属性も早く元素ノードに固まるのではなく、私たちが初めてそれを訪問した時だけ、全ページにuniqueIDを割り当て始めます.これは、セレクタのフィルタリングを私たちが使うと、初めては遅いかもしれないという意味です.また、documentオブジェクトもこの属性を持っていますが、他のHTMLのuniqueID属性とは全く違っています.私たちは毎回Dcument.uniqueIDを呼び出すと、システムは新しいuniqueID値を返します.
window.onload = function(){
alert(document.uniqueID)// :IE only
alert(document.uniqueID)
alert(document.uniqueID)
}
><html lang=「en」>
<meta charset=「utf-8」/>
<meta content=「IE=8」http-equiv=「X-UA-Comppatible」/>
<title>uuid by司徒正美(/title)
<script type=「text/javascript」>
window.onload=function(){
alert(document.uniqueID)
alert(document.uniqueID)
alert(document.uniqueID)
)
<body>
実行コード
この二つのものは全部IE onyで、HTMLDocumentにしか使えません.だから私達は自分で通行の方案を設計することに決めました.jQueryはどのように実現されているかを見ます.
var expando = "jQuery" + now(), uuid = 0,
//***************** *******************
var id = elem[ expando ]
ただし、IEの中には、カスタム属性を追加する際にエラーが発生する要素があります.例えば、Object、appet、embed.これは比較的罪作りだ.