What's the difference between jQuery's replaceWith() and html()?

jquery, replacewith

Solution

Take this HTML code:

<div id="mydiv">Hello World</div>

Doing:

$('#mydiv').html('Aloha World');

Will result in:

<div id="mydiv">Aloha World</div>

Doing:

$('#mydiv').replaceWith('Aloha World');

Will result in:

Aloha World

So html() replaces the contents of the element, while replaceWith() replaces the actual element.

Problem

What's the difference between jQuery's `replaceWith()` and `html()` functions when HTML is being passed in as the parameter?

Original source