jquery clone方法可以實現對指定dom物件的快速複製,並插入文件中。 對於同一型別的物件往往需要按照同一樣式模板(html標籤**)複製n份並插入文件中,然後再將內容填入模板中,這就需要批量轉殖插入,例如你的部落格發表的若干篇文章,都具有相同的模板樣式(標題 + 內容摘要)。
設計簡單測試用例,對模板template(乙個div)進行clone並插入執行5000次,使用date.gettime來計算耗時(ms),使用chrome瀏覽器(33)測試耗時4107ms,下面給出**:
doctype html
>
<
html
>
<
head
>
<
script
src=""
>
script
>
head
>
<
body
>
<
div
id="template_div"
>heheiiiii
div>
<
script
>
varstart
=new
date().gettime();
for(
vari=0
; i<
5000
; i++
)
varend
=new
date().gettime();
alert(end
-start);
script
>
body
>
html
>
similar to other content-adding methods such as.prepend()
and.before()
為驗證該方法的在各個瀏覽器上的穩定性,使用上面兩則**,對三個主流瀏覽器做了對比試驗,結果如下表,對於ie瀏覽器處理效率有明顯提公升 9s(總體上時間較長,應該源於ie瀏覽器對js處理的低效):doctype html
>
<
html
>
<
head
>
<
script
src=""
>
script
>
head
>
<
body
>
<
div
id="template_div"
>heheiiiii
div>
<
script
>
varstart
=new
date().gettime();
//快取clone例項
vardomcache =;
for(
vari=0
; i<
5000
; i++)
$("body
"var
end
=new
date().gettime();
alert(end
-start);
script
>
body
>
html
>
單位(ms)
chrome33
ie8firefox
改進前4107
18235
2966
改進後636
9203
1006
DOM轉殖操作(深轉殖 淺轉殖)
深轉殖 轉殖元素內文字節點加上所有後輩元素節點 淺轉殖 轉殖元素本身,不轉殖文字節點和後輩節點 1.clonenode 接受乙個可選值為true或false的引數。true 表示轉殖元素和它的所有子節點。false表示轉殖元素但不包含它的子節點。通常,我們在實踐中用true,我從來沒有遇到過想要轉殖...
jQuery 轉殖物件
方法如下 淺層複製 只複製頂層的非 object 元素 var newobject jquery.extend oldobject 深層複製 一層一層往下複製直到最底層 var newobject jquery.extend true,oldobject 測試如下 var obj1 c var ob...
DOM節點操作 建立,增加,轉殖
建立新的元素節點 createelement x x 方法建立新的元素節點 xmldoc loadxmldoc books.xml newel xmldoc.createelement x x edition x xmldoc.getelementsbytagname r book 0 x.a ne...