Como obtenho o html no '#container' incluindo '#container' e não apenas no conteúdo.
<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>
Eu tenho isso que recebe o html dentro de #container. ele não inclui o próprio elemento #container. É isso que estou procurando fazer
var x = $('#container').html();
$('#save').val(x);
Verifique http://jsfiddle.net/rzfPP/58/
javascript
jquery
Pinkie
fonte
fonte
Respostas:
Se você envolver o contêiner em uma
P
tag fictícia, também receberá o HTML do contêiner.Tudo que você precisa fazer é
Veja o exemplo de trabalho em http://jsfiddle.net/rzfPP/68/
Para
unwrap()
a<p>
tag quando feito, você pode adicionarfonte
var x = $('#container').clone().wrap('<p/>').parent().html();
. A idéia de quebrar é ótima e menos complicada do que a maioria das soluções fornecidas.<p>
tag? Não<div>
faria mais sentido?ATUALIZAÇÃO : agora é suportado pelo Firefox a partir do FireFox 11 (março de 2012)
Como outros já apontaram, isso não funcionará no FireFox. Se você precisar que ele funcione no FireFox, poderá dar uma olhada na resposta a esta pergunta: No jQuery, existe alguma função semelhante a html () ou text (), mas retorna todo o conteúdo do componente correspondente?
fonte
Eu gosto de usar isso;
fonte
fonte
Atualização: outerHTML funciona no firefox agora, então use a outra resposta, a menos que você precise oferecer suporte a versões muito antigas do firefox
fonte
Oldie but goldie ...
Como o usuário está solicitando jQuery, vou mantê-lo simples:
Violino aqui.
fonte
de http://forum.jquery.com/topic/jquery-getting-html-and-the-container-element-12-1-2010
fonte
O Firefox não oferece suporte a outerHTML , portanto, você precisa definir uma função para ajudá-lo:
Em seguida, você pode usar outerHTML:
fonte
fonte
Solução simples com um exemplo:
Mova este DIV para outro DIV com id = "other_div_id"
Terminar
fonte