File: DumpTree.js

package info (click to toggle)
mozilla-firefox 1.0.4-2sarge17
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 255,356 kB
  • ctags: 267,207
  • sloc: cpp: 1,623,961; ansic: 792,828; xml: 85,380; makefile: 41,934; perl: 27,802; asm: 14,884; sh: 14,807; cs: 4,507; python: 4,398; java: 4,004; yacc: 1,380; lex: 409; pascal: 354; php: 244; csh: 132; objc: 73; ada: 44; sql: 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");
}