真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

原生JS實現(xiàn)列表子元素順序反轉(zhuǎn)的方法分析

本文實例講述了原生JS實現(xiàn)列表子元素順序反轉(zhuǎn)的方法。分享給大家供大家參考,具體如下:

創(chuàng)新互聯(lián)專注骨干網(wǎng)絡服務器租用十余年,服務更有保障!服務器租用,服務器托管 成都服務器租用,成都服務器托管,骨干網(wǎng)絡帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務器。

編寫一個函數(shù)將一個列表里面的所有子元素順序反轉(zhuǎn),問題不難但是解決的方法卻有多種,而且性能大不一樣,下面就介紹幾種常用的方法:

1. 采用直接的DOM操作:

var ul = document.getElementById('target');
var list = ul.getElementByTagName('li');
var length = list.length;
while(length--){
  ul.appendchild(ul.childNodes[length]);
}

這種方法在子元素數(shù)量比較少的時候不會太影響頁面性能,但是當子元素數(shù)量較大的時候,頁面的性能會受到很大的影響,因為每一次插入元素都對頁面進行直接的DOM操作,因此不太建議這種方法。

2. 采用文檔碎片fragment方法

var ul = document.getElementById('target');
var list = ul.getElementByTagName('li');
var fragment = document.createDocumentFragment();
for(var i = list.length; i >= 0; i--){
  fragment.appendChild(list[i]);
}
ul.appendChile(fragment);

采用文檔碎片的方法進行操作,整個插入過程只對fragment進行了一次的DOM操作,不管子元素的數(shù)量多少,相比第一種方法,頁面性能會得到很大的提升,實際應用中可以采用這種方法。

關于fragment的官方說明文檔https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment。

3. 采用數(shù)組的reverse方法

var ul = document.getElementById('target');
var chil_arr = Array.prototype.slice.call(ul.getElementByTagName('li'), 0);//因為getElementByTagName獲取到的是偽數(shù)組,所以要進行轉(zhuǎn)換
var str = '';
chil_arr.reverse();
for(var i = 0; i < chil_arr.length; i++){
  str += chil_arr[i].outerHTML;
}
ul.innerHTML(str);

這種方法性能也還好。

4. 采用innerHTML方法

var ul = document.getElementById('target');
var list = ul.getElementByTageName('li');
var str = "";
for(var i = list.length; i >= 0; i--){
  str += "
  • " + list[i].innerHTML + "
  • "; } ul.innerHTML(str);

    這種方法性能是最好的,建議在實際應用中采用這種方法,提高頁面的性能。

    更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript數(shù)組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調(diào)試技巧總結》

    希望本文所述對大家JavaScript程序設計有所幫助。


    名稱欄目:原生JS實現(xiàn)列表子元素順序反轉(zhuǎn)的方法分析
    標題URL:http://weahome.cn/article/gdjigh.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部