由于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"));