uEditor is a WYSIWYG HTML editor originally based on widgEditor designed by Cameron Adams, but rewritten for jQuery and considerably modified since. uEditor is flexible and easy to use. As for widgEditor, the generated code is clean and valid (though you should verify it after form submission) and it's possible to use a custom sylesheet for rendering in WYSIWYG mode among other things.