Why is that removeNode not removing everything?
removeNode being a ms proprietary dom extension function would not (normally) be expected to be supported by its competitors, whereas it should work on IE though and it does. One should use dom compliant functionality whenever it is possible to maximize the general support. This is how by using dom level 1 functionality (removeChild) to do that and the script is self-explanatory.