Traversal is good for some things, but definitely not for this.

I think they should have a real function for this. Something like "toHtmlText" on a DOM element object.

The problem with innerHTML is that older versions of Netscape do not support it. IE and Netscape 6+/Mozilla only.