首頁>技術>

深度優先演算法最常用的是在DOM樹查詢中的實現

設計思路:修改nextElement的查詢方式,如果有子節點,則下一個元素就是它的第一個子節點,否則,判斷是否有相鄰的節點,如果有返回它的相鄰元素,如果即沒有子節點也沒有相鄰節點,就返回父節點的下一個相鄰節點,然後重新進入迴圈佇列。

<div id="id-data-structure">     我是body</div>function getElementById(node, id) {    while(node) {        if (node.id === id) {            return node;        }        node = nextNode(node);    }}function nextNode(node) {    if (node.children.length) {        return node.children[0];    }    if (node.nextElementSibling) {        return node.nextElementSibling;    }    while (node.parentNode) {        if (node.parentNode.nextElementSibling) {            return node.parentNode.nextElementSibling;        }    }    return null;}getElementById(document, "id-data-structure");

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 基於TS手寫前端MVC框架簡單實現購物車功能