Типовой (для меня) код для замены всего содержимого блока, если надо заменить не голый html, а объекты с привязками событий и прочего:
while (content.lastChild) content.removeChild(content.lastChild);
В последнее время стал сомневаться, что это самый оптимальный вариант.
Подскажите, профи, я не прав?
Вот полный код, создается основной элемент, затем создаются вложенные элементы с привязками к функциям, затем надо заменить все эти вложенные элементы полностью новыми:
var content= document.createElement('div');
var product = document.createElement('a');
product.href = '/items/' + products[i].id;
product.textContent = products[i].name;
product.addEventListener('click', product_nav);
content.appendChild(product);
....
while (content.lastChild) content.removeChild(content.lastChild);
...
var new_product= document.createElement('a');
...
content.appendChild(new_product);