I understand that both of these will insert html into an element.
What are the differences between these 2 methods though?
String:
$("div").append("<h1>Header</h1>");
Object:
$("div").append($("<h1>Header</h1>"));
Is it just that you can do stuff like this?
$("div").append($("<h1></h1>").html("Header"));
Exactly
Doing it this way creates for you a jQuery object which can further be manipulated with functions like append, css, addClass
Or if you don’t want to do further manipulation like this, then by all means pass it just a string, and you’ll get the same result.