One of the reasons not to use the innerHTML prop is because (almost) all interactivity gets broken; for example a CSS3 animation restarts if you set innerHTML of one of its parent elements.
Another reason is because IE (even the 9) likes to delete white-spaces when you set innerHTML; even in PRE tags!
Another reason is because IE (even the 9) likes to delete white-spaces when you set innerHTML; even in PRE tags!