Lebih
.append(), prepend(), .setelah() dan .sebelum()
Saya cukup mahir dengan coding, tapi sekarang dan kemudian saya menemukan kode yang tampaknya pada dasarnya melakukan hal yang sama. Pertanyaan utama saya di sini adalah, mengapa anda menggunakan .append()
ketimbang .setelah()
atau sebaliknya ayat-ayat?
Saya telah melihat dan tidak dapat tampaknya menemukan definisi yang jelas dari perbedaan antara dua dan kapan harus menggunakannya dan kapan tidak.
Apa manfaat dari salah satu dari yang lain dan juga mengapa saya menggunakan salah satu ketimbang yang lain?? Dapatkah seseorang tolong jelaskan ini padaku?
var txt = $('#' + id + ' span:first').html();
$('#' + id + ' a.append').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').append(txt);
});
$('#' + id + ' a.prepend').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').prepend(txt);
});
$('#' + id + ' a.after').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').after(txt);
});
$('#' + id + ' a.before').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').before(txt);
});
193
9
Lihat:
.append()
menempatkan data dalam elemen diterakhir
dan.prepend()
menempatkan mengawali elem di pertamaindex
misalkan:
Ini gambar yang ditampilkan di bawah ini memberikan pemahaman yang jelas dan menunjukkan perbedaan yang tepat antara
.append()
,.prepend()
,.setelah()
dan.sebelum()
Anda dapat melihat dari gambar yang
.append()
dan.prepend()
menambah unsur-unsur baru sebagai anak unsur-unsur (berwarna coklat) ke target.Dan
.setelah()
dan.sebelum()
menambah unsur-unsur baru sebagai saudara unsur-unsur (berwarna hitam) ke target.Berikut adalah [DEMO][2] untuk pemahaman yang lebih baik.
EDIT: membalik versi dari fungsi-fungsi:
Menggunakan [kode ini](http://jsfiddle.net/BobStein/uczj4ftm/):
pada target ini:
Jadi meskipun fungsi-fungsi ini membalik urutan parameter, masing-masing menciptakan satu unsur yang sama bersarang:
...tapi mereka kembali elemen yang berbeda. Hal ini penting untuk metode chaining.
append()
&prepend()
adalah untuk memasukkan konten dalam sebuah elemen (membuat konten untuk anak-anak), sementarasetelah()
&sebelum()
memasukkan konten di luar elemen (untuk membuat konten yang saudara).Cara terbaik adalah pergi untuk dokumentasi.
.append()
vs.setelah()
append()
: Menyisipkan konten, yang ditentukan oleh parameter, akhir setiap elemen dalam himpunan dari unsur-unsur yang cocok.setelah()
: Menyisipkan konten, yang ditentukan oleh parameter, setelah setiap elemen dalam himpunan dari unsur-unsur yang cocok..prepend()
vs.sebelum()
prepend()
: Menyisipkan konten, yang ditentukan oleh parameter, awal setiap elemen dalam himpunan dari unsur-unsur yang cocok.sebelum()
: Menyisipkan konten, yang ditentukan oleh parameter, sebelum setiap elemen dalam himpunan dari unsur-unsur yang cocok.Jadi, append dan tambahkan mengacu pada anak-anak dari objek sedangkan setelah dan sebelum mengacu pada saudara kandung dari objek.
Ada perbedaan mendasar antara
.append()
dan.setelah()
dan.prepend()
dan.sebelum()
..append()
menambah parameter elemen di dalam selector elemen's tag di akhir sedangkan.setelah()
menambah parameter elemen setelah elemen's tag.Vice-versa adalah untuk
.prepend()
dan.sebelum()
.[Biola][1]
Tidak ada keuntungan tambahan untuk masing-masing dari mereka. Itu benar-benar tergantung pada skenario anda. Kode di bawah ini menunjukkan perbedaan mereka.
Bayangkan DOM (halaman HTML) seperti pohon yang tepat. Elemen HTML adalah simpul dari pohon ini.
The
append()
menambah node baru untukanak
dari node yang anda sebut itu.Setelah()
menambah node baru sebagai saudara kandung atau pada tingkat yang sama atau anak ke orang tua dari simpul yang anda sebut itu.Untuk mencoba dan jawaban anda yang utama ** pertanyaan:
mengapa akan anda gunakan .append() agak kemudian .setelah() atau sebaliknya ayat-ayat?
Ketika anda memanipulasi DOM dengan jquery metode yang anda gunakan tergantung pada hasil yang anda inginkan dan yang sering digunakan adalah untuk mengganti konten.
Dalam mengganti konten yang ingin anda
.hapus()
isi dan menggantinya dengan konten baru. Jika anda.hapus()
ada tag dan kemudian mencoba untuk menggunakan.append()
tidak't bekerja karena tag itu sendiri telah dihapus, sedangkan jika anda menggunakan.setelah()
, konten baru ditambahkan 'di luar' (sekarang dihapus) tag dan isn't dipengaruhi olehsebelumnya.hapus()
.