Obtener cadena de HTML para jQuery y / o objeto DOM

Creo que he leído el completodocumentación jQuery API y observé los objetos jQuery y los elementos DOM simples en el depurador para verificar qué métodos tienen en tiempo de ejecución, pero por mi vida, no puedo encontrar una manera de obtener la cadena html que representa el contenido de un objeto jQuery o un nodo DOM. ¿Me estoy perdiendo de algo?

Los objetos jQuery tienen el método.html(), Los elementos DOM tienen la propiedadinnerHTML pero ambos solo dan el html interno del objeto. Así que si tengo HTML como este:

<body>
    <div>
        <p>Hello World!</p>
    </div>
</body>

Y yo uso jQuery haciendo algo como estovar $div = $body.find("div") y luego llamo$div.html() la cadena devuelta es"<p>Hello World!</p>". Pero estoy buscando una manera de hacerlo volver"<div><p>Hello World!</p></div>" (No me importa el espacio en blanco).

¿Qué estoy haciendo mal? No puede ser tan difícil obtener la representación html de estos objetos, ¿verdad?

Respuestas a la pregunta(3)

Su respuesta a la pregunta