Jak uzyskać kod HTML na „#container”, w tym „#container”, a nie tylko to, co jest w środku.
<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>
Mam to, które pobiera kod HTML wewnątrz #container. nie zawiera samego elementu #container. To jest to, czego szukam
var x = $('#container').html();
$('#save').val(x);
Sprawdź http://jsfiddle.net/rzfPP/58/
javascript
jquery
Mały palec u ręki
źródło
źródło
Odpowiedzi:
Jeśli opakujesz kontener w fikcyjny
P
tag, otrzymasz również kod HTML kontenera.Wszystko, co musisz zrobić, to
Sprawdź działający przykład pod adresem http://jsfiddle.net/rzfPP/68/
Po
unwrap()
zakończeniu do<p>
tagu możesz dodaćźródło
var x = $('#container').clone().wrap('<p/>').parent().html();
. Pomysł na wrap jest świetny i mniej skomplikowany niż większość proponowanych rozwiązań.<p>
tag? Czy nie miałoby to<div>
większego sensu?AKTUALIZACJA : to jest teraz obsługiwane przez Firefoksa od wersji FireFox 11 (marzec 2012)
Jak zauważyli inni, to nie zadziała w FireFox. Jeśli potrzebujesz go do działania w FireFox, możesz rzucić okiem na odpowiedź na to pytanie: Czy w jQuery jest jakaś funkcja podobna do html () lub text (), ale zwraca całą zawartość dopasowanego komponentu?
źródło
Lubię tego używać;
źródło
źródło
Aktualizacja: externalHTML działa teraz w przeglądarce Firefox, więc użyj innej odpowiedzi, chyba że potrzebujesz obsługi bardzo starych wersji Firefoksa
źródło
Oldie but goldie ...
Ponieważ użytkownik pyta o jQuery, zamierzam to uprościć:
Tutaj skrzypce.
źródło
z http://forum.jquery.com/topic/jquery-getting-html-and-the-container-element-12-1-2010
źródło
Firefox nie obsługuje zewnętrznego HTML , więc musisz zdefiniować funkcję, aby ją obsługiwać:
Następnie możesz użyć externalHTML:
źródło
źródło
Proste rozwiązanie z przykładem:
Przenieś ten DIV do innego DIV z id = "other_div_id"
koniec
źródło