File: DumpTree.js

package info (click to toggle)
iceweasel 2.0.0.19-0etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 298,784 kB
  • ctags: 317,912
  • sloc: cpp: 1,796,902; ansic: 987,677; xml: 109,036; makefile: 47,777; asm: 35,201; perl: 26,983; sh: 20,879; cs: 6,232; java: 5,513; python: 3,249; pascal: 459; lex: 306; php: 244; csh: 132; objc: 97; yacc: 79; ada: 49; awk: 14; sql: 4; sed: 4
file content (35 lines) | stat: -rw-r--r-- 866 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/

function traverse(node, indent)
{
  indent += "  ";
  var type = node.nodeType;

  // if it's an element dump the tag and recurse the children
  if (type == Node.ELEMENT_NODE) {
    dump(indent + "<" + node.tagName + ">\n");

    // go through the children
    if (node.hasChildNodes()) {
      var children = node.childNodes;
      var i, length = children.length;
      for (i = 0; i < length; i++) {
        var child = children[i];
        traverse(child, indent);
      }
      dump(indent + "</" + node.tagName + ">\n");
    }
  }
  // it's just text, no tag, dump "Text"
  else if (type == Node.TEXT_NODE) {
    dump(indent + node.data + "\n");
  }
}

function dumpTree()
{
  var node = document.documentElement;
  dump("Document Tree:\n");
  traverse(node, "");
  dump("\n");
}