Say I have this HTML:
<ul>
<li id="example"><strong>Awesome</strong> example text</li>
</ul>
I want to be able to do something like $('#example').html()
but right now doing that obviously only gets <strong>Awesome</strong> example text
.
So how can I get the HTML including the selected element?
ie. <li id="example"><strong>Awesome</strong> example text</li>
I'm using jQuery 1.4.4.
In this specific case:
var outerHTML = $("<div />").append($('#example').clone()).html();
See this page for more details.
And the discussion here: http://api.jquery.com/html/ (this explains that this isn't in jQuery core and why some logical solutions won't work)
You could try this:
var html = $('<div>').append($('#example').clone()).html();
For browsers that support it, outerHTML can do that. There are jQuery plugins like this and this that enable support via some clever jQuery.
var outerHtml = $('#example').detach();
Anything wrong with simply using $('#example') ? This grabs the whole thing!