Avoiding the use of innerHTML when emptying DOM elements (or anything else) can increase performance greatly.
Take a look for yourself: http://jsperf.com/innerhtml-vs-removechild/37
In Chrome 26, using a while-loop to remove children was an incredible 400 times faster! This is a desktop browser we're talking about!
Instead of doing this
el.innerHTML = '';
to empty your DOM elements, you should instead use this
while (el.firstChild) el.removeChild(el.firstChild);
which is, like I said, about 400 times faster than innerHTML on a modern desktop browser.
Even the use of innerText to clean the DOM element (known to be faster than innerHTML) doesn't compare, and is a little more than 10 times slower than the while-loop.