Búsqueda de sitios web

javascript - jQuery: html() devuelve cadena vacía


Si uso Firebug y escribo $ ("<p>").html() en la ventana de observación, obtengo una cadena vacía. Mi suposición es que es porque $ ("<p>") no se ha renderizado aún en el documento. ¿Cómo puedo obtener el marcado de $ ("<p>") antes de que se agregue al DOM?

Respuesta #1

Estás pidiendo el HTML externo, no el interno; el HTML dentro del <p> está efectivamente vacío.

Para obtener el HTML tendrías que envolverlo en otro elemento, así:

jQuery("<div>").append($("<p>").clone()).html()

Esto te daría:

<p></p>

Respuesta #2

Prueba $ ( 'p' ).html() en lugar de $ ( '<p>' ).html()

Ejemplo en http://jsfiddle.net/tdg7U/

Test1 alerta $ ( '<p>' ).html()

Test2 alerta $ ( 'p' ).html()