Supongo que está pidiendo la cadena HTML completa. Si ese es el caso, algo así hará el truco:
$('<div>').append($('#item-of-interest').clone()).html();
Esto se explica con mayor profundidad aquí , pero esencialmente se crea un nuevo nodo para envolver el elemento de interés, hacer las manipulaciones, eliminarlo y obtener el HTML.
Si estás justo después de una representación de cadena, entonces ve con new String(obj)
.
Actualizar
Escribí la respuesta original en 2009. A partir de 2014, la mayoría de los principales navegadores ahora son compatibles outerHTML
como propiedad nativa (consulte, por ejemplo, Firefox e Internet Explorer ), por lo que puede hacer:
$('#item-of-interest').prop('outerHTML');
$(...)
es un nodo DOM válido).data
Con jQuery 1.6, esta parece ser una solución más elegante:
fuente
Simplemente use .get (0) para obtener el elemento nativo y obtener su propiedad externalHTML:
fuente
¿Podrías ser un poco más específico? Si está tratando de obtener el HTML dentro de una etiqueta, puede hacer algo como esto:
Fragmento de HTML:
jQuery:
fuente
La mejor manera de averiguar qué propiedades y métodos están disponibles para un nodo HTML (objeto) es hacer algo como:
Desde jQuery 1.6+ puede usar externalHTML para incluir las etiquetas HTML en su salida de cadena:
fuente
$('#my-node').get(0).outerHTML
como en la respuesta de.outerHTML
no funcionó para mí, pero lo.prop('outerHTML')
hizo.jQuery está aquí, así que:
Devuelve todas esas cosas HTML:
fuente
Esto parece funcionar bien para mí:
fuente
La respuesta aceptada no cubre los nodos de texto (se imprime indefinido).
Este fragmento de código lo resuelve:
fuente
No es necesario clonar y agregar al DOM para usar .html (), puede hacer lo siguiente:
fuente
wrap()
devuelve el elemento envuelto, no el elemento con el que fue envuelto? Entonces, esto debería dar el html del elemento#item-of-interest
no es padrediv
(a menos que jQuery haya cambiado desde febrero de 2012).Es posible usar la
jQuery.makeArray(obj)
función de utilidad:fuente
Si desea stringificar un elemento HTML para pasarlo a algún lugar y analizarlo nuevamente en un elemento, intente crear una consulta única para el elemento:
que
fuente
Si desea serializar todo el objeto en cadena, use JSON .
fuente