最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年07月02日 11:27:36   作者:尋夢(mèng)丶2015  
這篇文章主要介紹了原生JS實(shí)現(xiàn)列表子元素順序反轉(zhuǎn)的方法,結(jié)合實(shí)例形式分析了javascript針對(duì)dom元素、數(shù)組reverse方法、innerHTML方法等列表元素順序翻轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下

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

編寫一個(gè)函數(shù)將一個(gè)列表里面的所有子元素順序反轉(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]);
}

這種方法在子元素?cái)?shù)量比較少的時(shí)候不會(huì)太影響頁面性能,但是當(dāng)子元素?cái)?shù)量較大的時(shí)候,頁面的性能會(huì)受到很大的影響,因?yàn)槊恳淮尾迦朐囟紝?duì)頁面進(jìn)行直接的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);

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

關(guān)于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);//因?yàn)間etElementByTagName獲取到的是偽數(shù)組,所以要進(jìn)行轉(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 += "<li>" + list[i].innerHTML + "</li>";
}
ul.innerHTML(str);

這種方法性能是最好的,建議在實(shí)際應(yīng)用中采用這種方法,提高頁面的性能。

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

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能示例

    JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能示例

    這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能,涉及javascript面向?qū)ο笈c頁面元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下
    2016-12-12
  • ASP中進(jìn)行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼函數(shù)

    ASP中進(jìn)行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼函數(shù)

    在有些時(shí)候我們無法控制亂碼的出現(xiàn), 比如發(fā)送郵件的時(shí)候有些郵件顯示亂碼, 比如Ajax返回?cái)?shù)據(jù)總是亂碼. 怎么辦?
    2009-11-11
  • 詳解微信小程序之一鍵復(fù)制到剪切板

    詳解微信小程序之一鍵復(fù)制到剪切板

    這篇文章主要介紹了微信小程序一鍵復(fù)制到剪切板,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js圖片放大鏡實(shí)例講解(必看篇)

    js圖片放大鏡實(shí)例講解(必看篇)

    下面小編就為大家?guī)硪黄猨s圖片放大鏡實(shí)例講解(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的啟動(dòng)和停止

    javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的啟動(dòng)和停止

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的啟動(dòng)和停止文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS代碼判斷集錦大全

    JS代碼判斷集錦大全

    本文通過實(shí)例代碼給大家介紹了js代碼判斷的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2007-12-12
  • JavaScript Set與Map數(shù)據(jù)結(jié)構(gòu)詳細(xì)分析

    JavaScript Set與Map數(shù)據(jù)結(jié)構(gòu)詳細(xì)分析

    大家心里是否產(chǎn)生過這樣的疑問,JS中既然已經(jīng)有對(duì)象這種數(shù)據(jù)結(jié)構(gòu),我們?yōu)槭裁催€要再單獨(dú)去使用Set或者M(jìn)ap呢?下面這篇文章主要給大家介紹了關(guān)于ES6中Set和Map數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 微信小程序按鈕巧妙用法

    微信小程序按鈕巧妙用法

    這篇文章主要介紹了微信小程序按鈕巧妙用法,按鈕組件功能比?HTML?中的?button?按鈕豐富,通過?open-type?屬性可以調(diào)用微信提供的各種功能(客服、轉(zhuǎn)發(fā)、獲取用戶授權(quán)、獲取用戶信息等),需要的朋友可以參考下
    2022-12-12
  • JavaScript實(shí)現(xiàn)頁面滾動(dòng)圖片加載(仿lazyload效果)

    JavaScript實(shí)現(xiàn)頁面滾動(dòng)圖片加載(仿lazyload效果)

    網(wǎng)上的很多這樣的效果都是用jQuery的方法,可是如果不用jQuery的站長(zhǎng)難道就不能用這種方法了么
    2011-07-07
  • weui框架實(shí)現(xiàn)上傳、預(yù)覽和刪除圖片功能代碼

    weui框架實(shí)現(xiàn)上傳、預(yù)覽和刪除圖片功能代碼

    weui框架暫時(shí)只有css文件,并沒有js文件實(shí)現(xiàn)其功能,我在其html+css后面增加了js實(shí)現(xiàn)其功能,為大家提供方便,也為自己保存記錄。具體實(shí)例代碼大家參考下本文
    2017-08-08

最新評(píng)論

七台河市| 纳雍县| 固安县| 内乡县| 南江县| 临洮县| 新河县| 阿尔山市| 墨竹工卡县| 瑞安市| 永丰县| 宣汉县| 西安市| 湖北省| 永春县| 桐庐县| 高邮市| 高邑县| 卓尼县| 镇巴县| 宜宾市| 宁阳县| 本溪市| 三原县| 恩施市| 蒙城县| 新竹县| 海南省| 辽中县| 庄浪县| 荆门市| 崇礼县| 团风县| 磐安县| 弥渡县| 泗阳县| 罗山县| 英吉沙县| 广宁县| 阿瓦提县| 梅州市|