Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 11th, 2012  |  syntax: None  |  size: 1.25 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. javascript for loop variable and recursion
  2. function func(node) {
  3.     for(var i = 0; i < node.children.length; i++) {
  4.        func(node.children[i]);
  5.     }
  6. }
  7.        
  8. function func(node) {
  9.     for(var i = 0, count = node.children.length; i < count; i++) {
  10.         func(node.children[i]);
  11. }
  12.        
  13. function walkTheDOM(node, func) {
  14.     func(node);
  15.     node = node.firstChild;
  16.     while (node) {
  17.         walkTheDOM(node, func);
  18.         node = node.nextSibling;
  19.     }
  20. }
  21.        
  22. var root = document.getElementById('wrap');
  23.  
  24. walkTheDOM(root, function(node) {
  25.     console.log( node.nodeName );
  26. });
  27.        
  28. var span = document.getElementsByTagName("span")[0];
  29. function func(node) {
  30.     for(var i = 0; i < node.children.length; i++) {
  31.        console.log([i, node]);
  32.        func(node.children[i]);
  33.     }
  34. }
  35. func(span);
  36.  
  37. // returns
  38. // [0, <span id="hlinks-user">...</span>]
  39. // [1, <span id="hlinks-user">...</span>]
  40. // [2, <span id="hlinks-user">...</span>]
  41. // [0, <a href="/users...">...</a>]
  42. // [3, <span id="hlinks-user">...</span>]
  43. // [0, <span title="1 silver...">...</span>]
  44. // [1, <span title="1 silver...">...</span>]
  45. // [4, <span id="hlinks-user">...</span>]
  46. // [0, <span title="7 bronze...">...</span>]
  47. // [1, <span title="7 bronze...">...</span>]
  48. // [5, <span id="hlinks-user">...</span>]