Рекомендуется использовать манипуляции с DOM, но это может быть довольно многословно. Например:
// <p>Hello, <b>World</b>!</p>
var para = document.createElement('p');
para.appendChild(document.createTextNode('Hello, '));
// <b>
var b = document.createElement('b');
b.appendChild(document.createTextNode('World');
para.appendChild(b);
para.appendChild(document.createTextNode('!'));
// Do something with the para element, add it to the document, etc.
EDIT
В ответ на ваши изменения, чтобы заменить текущий контент, вы просто удаляете существующий контент, а затем используете приведенный выше код для заполнения нового контента. Например:
var someDiv = document.getElementById('someID');
var children = someDiv.childNodes;
for(var i = 0; i < children.length; i++)
someDiv.removeChild(children[i]);
Но, как сказал кто-то другой, я бы порекомендовал использовать что-то вроде jQuery, поскольку не все браузеры полностью поддерживают DOM, а те, которые имеют причуды, которые внутренне решаются библиотеками JavaScript. Например, jQuery выглядит примерно так:
$('#someID').html("<p>Hello, <b>World</b>!</p>");