由于DOM是一棵树,而树的定义本身就是用的递归定义,所以用递归的方法处理树,会非常地简单自然。
//先定义一个要查找的dom节点 <ul id="node_list"> </ul> function getElementById(node, id) { if (!node) return null; if (node.id === id) return node; for (var i = 0; i < node.childNodes.length; i++) { var found = getElementById(node.childNodes[i], id); if (found) return found; } return null; } console.log(getElementById(document, "node_list"));