¿Cómo obtengo el html en '#container' que incluye '#container' y no solo lo que hay dentro?
<div id="container">
<div id="one">test 1 </div>
<div id="two">test 2 </div>
<div id="three">test 3 </div>
<div id="four">test 4 </div>
</div>
Tengo esto que obtiene el html dentro de #container. no incluye el elemento #container en sí. Eso es lo que estoy buscando hacer
var x = $('#container').html();
$('#save').val(x);
Verifique http://jsfiddle.net/rzfPP/58/
javascript
jquery
Dedo meñique
fuente
fuente
Respuestas:
Si envuelve el contenedor en una
P
etiqueta ficticia , también obtendrá el HTML del contenedor.Todo lo que necesitas hacer es
Consulte el ejemplo de trabajo en http://jsfiddle.net/rzfPP/68/
A
unwrap()
la<p>
etiqueta cuando haya terminado, puede agregarfuente
var x = $('#container').clone().wrap('<p/>').parent().html();
. La idea de envoltura es genial y mucho menos complicada que la mayoría de las soluciones proporcionadas.<p>
etiqueta? ¿No<div>
tendría más sentido?ACTUALIZACIÓN : Esto ahora es compatible con Firefox a partir de FireFox 11 (marzo de 2012)
Como otros han señalado, esto no funcionará en Firefox. Si necesita que funcione en FireFox, puede que desee echar un vistazo a la respuesta a esta pregunta: en jQuery, ¿hay alguna función similar a html () o text () pero devuelve todo el contenido del componente coincidente?
fuente
Me gusta usar esto;
fuente
fuente
Actualización: externalHTML funciona en Firefox ahora, así que usa la otra respuesta a menos que necesites soportar versiones muy antiguas de Firefox
fuente
Viejo pero valioso...
Como el usuario solicita jQuery, lo voy a mantener simple:
Violín aquí.
fuente
de http://forum.jquery.com/topic/jquery-getting-html-and-the-container-element-12-1-2010
fuente
Firefox no es compatible con externalHTML , por lo que debe definir una función para ayudarlo:
Luego, puede usar outsideHTML:
fuente
fuente
Solución simple con un ejemplo:
Mueva este DIV a otro DIV con id = "other_div_id"
Terminar
fuente