There are a lot of ways to accomplish this. Karl's post demonstrated one way to create larger fragments directly with jQuery. In addition to .append() you can look at using the .wrap() methods.
Mike Geary may come by and give you a pointer to his DOM creation methods, which I used on several projects: http://mg.to/2006/02/27/easy-dom-creation-for-jquery-and-prototype Lately I have been putting template fragments in the original html file (with display:none of course) then cloning/modifying them and putting them back into the document.