Get the complete value of $(this) including tags and attributes in jquery
<p>I have a bunch of elements with data attributes:</p>

<pre><code>&lt;span data-product_attribute="title" data-product_id="12"&gt;product title&lt;/span&gt;
&lt;span data-product_attribute="vendor" data-product_id="12"&gt;product vendor&lt;/span&gt;
</code></pre>

<p>And I'm using a jQuery selector to grab them and put them in a list for processing:</p>

<pre><code>$('span[data-product_attribute]').map(function() {
    var o = {};
    o.name = $(this).attr("data-product_attribute");
    o.value = $(this).html(); // ** this line is not what I want **
    return o;
}).get()
</code></pre>

<p>The <code>html()</code> method only returns what's contained inside the <code>&lt;span&gt;</code> tag, but what I want is the whole thing. i.e. I'm trying to get it to do this:</p>

<pre><code>o.value = '&lt;span data-product_attribute="title" data-product_id="12"&gt;product title&lt;/span&gt;'
</code></pre>

<p>Is there a jQuery method that will return everything that is represented by <code>$(this)</code>?</p>
