.html() returns innerHTML if no arguments are passed
refactor and make sure it behaves like jQuery does