Jquery clon HTML original no DOM

Necesito clonar una sección de marcado que ya se ha modificado en el DOM. Quiero obtener la fuente HTML original, lo que se ve en Ver> Fuente.

clone () usa lo que está en el DOM

preguntado el 16 de mayo de 11 a las 20:05

5 Respuestas

No puedes.

Si lo necesita, almacene el marcado original en una var JavaScript antes de realizar cualquier modificación.

contestado el 17 de mayo de 11 a las 00:05

Intente ponerlo en un variable antes de que se manipule el DOM. Utilizo este método para plantillas de jQuery ... var template = $('#template').html()

contestado el 17 de mayo de 11 a las 00:05

Tenga en cuenta que es posible que esta línea deba estar en la parte superior del archivo si desea capturar las etiquetas "script" antes de que se ejecuten (por ejemplo, y crear widgets). También debe hacer esto en $ (document) .ready () para poder usar jquery y desea estar al principio de la cola readyList, por lo que la línea debe estar en la parte superior del archivo. - Curtis Yallop

Aquí hay un código javascript simple para hacerlo. Puede ejecutarse inmediatamente antes de que se cargue jquery. - Curtis Yallop

myHtml = document.getElementById ('plantilla'). parentNode.innerHTML; - Curtis Yallop

Un enfoque sencillo sería conservar el marcado original en un div. Luego, clona ese contenido oculto.

Otra opción sería hacer una solicitud AJAX para recuperar el documento original y luego cargar el HTML que desea duplicar desde allí.

contestado el 17 de mayo de 11 a las 00:05

Debería copiar ese HTML en algo antes de que se realicen los cambios en el DOM. lo que el DOM tiene actualmente en un momento dado es a lo que tiene acceso, no versiones pasadas / futuras a menos que las haya guardado explícitamente en algo

contestado el 17 de mayo de 11 a las 00:05

He escrito una biblioteca para esta tarea hace algún tiempo :)

http://www.moyablog.com/innerouter-xhtml/

originalOuterXHTML(element) logrará lo que quiere

Respondido el 10 de junio de 14 a las 18:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.