The can.Component documentation includes a tabs widget example: http://canjs.com/docs/can.Component.html
I don't understand what you mean by modifying existing DOM... can you give an example of what the HTML looks like?