javascript 節(jié)點(diǎn)排序?qū)崿F(xiàn)代碼
我的思路很簡(jiǎn)單,如果它們相同,返回0(用于去重),如果它們的父節(jié)點(diǎn)相同,那么根據(jù)nextSibling確定兩者的先后順序,否則就找到其最近公共祖先與其他兩個(gè)最接近這祖先的兩個(gè)父節(jié)點(diǎn)(人性點(diǎn)說(shuō),是伯父與父親),這時(shí)不就是與父節(jié)點(diǎn)相同的情況嗎?!根據(jù)nextSibling確定它們的順序,它們的順序就是它們的孩子的順序(因此有一個(gè)叫李剛的爹很重要,在這個(gè)世襲制的世界上!)不過(guò),有時(shí)最近公共祖先就是比較雙方的某一個(gè)呢,那當(dāng)然是它最近了。
剩下的問(wèn)題就是求最近公共祖先的問(wèn)題了。我的思路也很簡(jiǎn)單,不一定高效,畢竟大學(xué)把數(shù)學(xué)都荒廢了。不斷向上取得它們的父節(jié)點(diǎn),直到最頂?shù)腍TML元素,連同最初那個(gè)節(jié)點(diǎn),組成兩個(gè)數(shù)組。然后每次取數(shù)組最后的元素進(jìn)行比較,如果相同就去掉它們,因?yàn)橄嗤亩际枪沧嫦?,不相同就往上取其中一方就行了?
下面是測(cè)試頁(yè)面與源碼:
由于使用了window.console,因此建議在firefox,IE8,chrome下查看結(jié)果。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
- jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作
- js獲取Treeview選中的節(jié)點(diǎn)(C#選中CheckBox項(xiàng))
- Javascript的各種節(jié)點(diǎn)操作實(shí)例演示代碼
- javascript學(xué)習(xí)筆記(十九) 節(jié)點(diǎn)的操作實(shí)現(xiàn)代碼
- 初學(xué)js 新節(jié)點(diǎn)的創(chuàng)建 刪除 的步驟
- javascript 節(jié)點(diǎn)排序 2
- javascript 變態(tài)的節(jié)點(diǎn)集合
- javascript中節(jié)點(diǎn)的最近的相關(guān)節(jié)點(diǎn)訪問(wèn)方法
相關(guān)文章
JavaScript簡(jiǎn)單實(shí)現(xiàn)的仿微博留言功能示例
這篇文章主要介紹了JavaScript簡(jiǎn)單實(shí)現(xiàn)的仿微博留言功能,涉及javascript頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系2007-12-12
微信小程序?qū)崿F(xiàn)限制用戶轉(zhuǎn)發(fā)功能的實(shí)例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)限制用戶轉(zhuǎn)發(fā)的實(shí)例代碼,通過(guò)截圖加實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
微信小程序之 catalog 切換實(shí)現(xiàn)解析
這篇文章主要介紹了微信小程序之 catalog 切換實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
JS中new?Date().Format("yyyy-MM-dd")?報(bào)錯(cuò)的解決
這篇文章主要介紹了JS中new?Date().Format("yyyy-MM-dd")?報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
JS+CSS實(shí)現(xiàn)可拖拽的漂亮圓角特效彈出層完整實(shí)例
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)可拖拽的漂亮圓角特效彈出層,以完整實(shí)例形式分析了彈出層特效及圓角矩形的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-02-02
基于JavaScript實(shí)現(xiàn)瀑布流效果(循環(huán)漸近)
本文給大家介紹基于javascript實(shí)現(xiàn)循環(huán)漸近瀑布流效果,代碼簡(jiǎn)單易懂,非常具有參考價(jià)值,需要的朋友參考下吧2016-01-01
TypeScript里string和String的區(qū)別
這篇文章主要介紹了TypeScript里string和String的區(qū)別,真的不止是大小寫(xiě)的區(qū)別,string表示原生類型,而String表示對(duì)象,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-03-03
微信小程序?qū)崿F(xiàn)單選、多選及如何通過(guò)變量控制單選/多選功能
文章介紹了如何在微信小程序中實(shí)現(xiàn)單選和多選功能,單選功能使用`radio`和`radio-group`組件,多選功能使用`checkbox`和`checkbox-group`組件,同時(shí),還介紹了如何通過(guò)自定義邏輯實(shí)現(xiàn)單選和多選功能,并總結(jié)了每種功能的特點(diǎn)和實(shí)現(xiàn)方式2025-01-01

