We all seem to hate the DOM API. It is painful to work with for sure. Some have thrown away DOM and instead relied on innertHTML and friends to get the job down. Others feel that "It’s always seemed a bit wrong and dirty to use innerHTML to manipulate or add content to a page. It’s not a standard (more of an agreement between browser manufacturers) and it doesn’t work on some browsers with certain mime-types while the core parts of the W3C DOM spec are implemented pretty damn consistently in most modern browsers. The problem is though that it’s realllllly long winded."
Dan Webb has put together DOM Builder, which looks a little like the Builders from Ruby (and from Groovy).