遍历节点

<!doctype html>
<html>
<body>
<div id=1><div id=6></div></div>
<div id=2><div id=7><div id=11></div></div></div>
<div id=3><div id=8></div><div id=12></div></div>
<div id=4><div id=9><div id=13></div><div id=14></div></div></div>
<div id=5><div id=0></div><div id=15><div id=16></div></div></div>
<script>
var walker = function(){
	var counter = 0;
	var children = document.body.childNodes;
	var each = function (obj, fn, scope) {
	  for (var i = 0, n = obj.length ; i < n; i++) {
		if (fn.call(scope || obj[i], obj[i], i, obj)  ===  false ) {
		  break;
		}
	  }
	};	
	var nodesHandler = function(node, i){
		if(node.nodeType == 1 && node.tagName != "SCRIPT") {
			counter++;
			alert(node.id);
			each(node.childNodes, nodesHandler)
		}
	};
	each(children, nodesHandler);
	alert("counter : " + counter);
}
walker();
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/yili/p/1807478.html