Katakanlah saya memiliki tiga <div>
elemen pada satu halaman. Bagaimana saya bisa menukar posisi pertama dan ketiga <div>
? jQuery baik-baik saja.
javascript
jquery
dom
inti
sumber
sumber
var html = $('#container').html(); ...; $('#container').html(html);
Tidak perlu menggunakan perpustakaan untuk tugas sepele seperti itu:
Ini memperhitungkan fakta yang
getElementsByTagName
mengembalikan NodeList langsung yang diperbarui secara otomatis untuk mencerminkan urutan elemen di DOM saat mereka dimanipulasi.Anda juga bisa menggunakan:
dan ada berbagai kemungkinan permutasi lainnya, jika Anda ingin bereksperimen:
sebagai contoh :-)
sumber
.sebelum dan sesudah
Gunakan vanilla JS modern! Jauh lebih baik / lebih bersih dari sebelumnya. Tidak perlu merujuk orang tua.
Dukungan Browser - 94.23% Global per Juli '20
sumber
dan gunakan seperti ini:
jika Anda tidak ingin menggunakan jQuery, Anda dapat dengan mudah menyesuaikan fungsinya.
sumber
Fungsi ini mungkin tampak aneh, tetapi sangat bergantung pada standar agar dapat berfungsi dengan baik. Nyatanya, ini mungkin berfungsi lebih baik daripada versi jQuery yang diposting tvanfosson yang tampaknya hanya melakukan swap dua kali.
Keanehan standar apa yang diandalkannya?
sumber
Pendekatan Jquery yang disebutkan di atas akan berhasil. Anda juga dapat menggunakan JQuery dan CSS. Katakan misalnya pada Div Anda telah menerapkan class1 dan div2 Anda telah menerapkan class class2 (katakanlah misalnya setiap kelas css menyediakan posisi tertentu di browser), sekarang Anda dapat menukar kelas menggunakan jquery atau javascript (yang akan mengubah posisi)
sumber
Maaf karena menabrak utas ini, saya tersandung masalah "tukar elemen DOM" dan bermain-main sedikit
Hasilnya adalah "solusi" jQuery-native yang tampaknya sangat cantik (sayangnya saya tidak tahu apa yang terjadi di internal jQuery saat melakukan ini)
Kode:
Dokumentasi jQuery mengatakan bahwa
insertAfter()
memindahkan elemen dan tidak mengkloningnyasumber