Bagaimana cara mendapatkan html di '#container' termasuk '#container' dan bukan hanya apa yang ada di dalamnya.
<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>
Saya punya ini yang mendapatkan html di dalam #container. itu tidak termasuk elemen #container itu sendiri. Itulah yang ingin saya lakukan
var x = $('#container').html();
$('#save').val(x);
Periksa http://jsfiddle.net/rzfPP/58/
javascript
jquery
Kelingking
sumber
sumber
Jawaban:
Jika Anda membungkus wadah dalam
P
tag dummy Anda akan mendapatkan HTML wadah juga.Yang perlu Anda lakukan adalah
Lihat contoh kerja di http://jsfiddle.net/rzfPP/68/
Untuk
unwrap()
itu<p>
tag bila dilakukan, Anda dapat menambahkansumber
var x = $('#container').clone().wrap('<p/>').parent().html();
. Gagasan bungkus sangat bagus dan tidak terlalu rumit daripada sebagian besar solusi yang disediakan.<p>
tag? Bukankah<div>
lebih masuk akal?UPDATE : Ini sekarang didukung oleh Firefox pada FireFox 11 (Maret 2012)
Seperti yang telah ditunjukkan orang lain, ini tidak akan berfungsi di FireFox. Jika Anda membutuhkannya untuk bekerja di FireFox, maka Anda mungkin ingin melihat jawaban atas pertanyaan ini: Di jQuery, apakah ada fungsi yang mirip dengan html () atau teks () tetapi mengembalikan seluruh konten komponen yang cocok?
sumber
Saya suka menggunakan ini;
sumber
sumber
Pembaruan: outerHTML berfungsi di firefox sekarang jadi gunakan jawaban lain kecuali Anda perlu mendukung versi firefox yang sangat lama
sumber
Oldie tapi goldie ...
Karena pengguna meminta jQuery, saya akan membuatnya tetap sederhana:
Biola di sini.
sumber
dari http://forum.jquery.com/topic/jquery-getting-html-and-the-container-element-12-1-2010
sumber
Firefox tidak mendukung outerHTML , jadi Anda perlu mendefinisikan fungsi untuk membantu mendukungnya:
Kemudian, Anda dapat menggunakan outerHTML:
sumber
sumber
Solusi sederhana dengan contoh:
Pindahkan DIV ini ke DIV lain dengan id = "other_div_id"
Selesai
sumber