YUI does not seem to provide the same level of DOM manipulation that jQuery does (although I haven't played with YUI3 yet, so this may change).
innerHTML definitely works, and was faster once upon a time, although I think this is changing in some modern browsers. Appending content is easy enough via the standard methods:
element.appendChild(childElement);
Clearing is a little more involved. I have actually ended up extending the YUI DOM utility and added this as a method:
removeChildren : function(elem)
{
var theElement = this.get(elem);
var elemChildren = theElement.childNodes;
var childCount = elemChildren.length;
for (var i = childCount -1; i >= 0; i--)
{
theElement.removeChild(theElement.childNodes[i]);
}
}
It's important to note than when looping through the child nodes, I start with the last element and work my way to the front. This is because whenever a node is removed, the size of the array changes. Also, if I remove the node at position [0], all the elements of the array move down a position (meaning the element that was at position [1] now becomes the element at position [0]). If I was to start at the front of the array, I would miss elements, and quickly exceed the array's boundary.